Currently, the replicator type is an attribute of AbstractReplicatorConfiguration. There are three problems with this:
1) it means that AbstractReplicatorConfiguration is public, part of our API, to support Kotlin.
2) the property, a property of the Replicator, is illogically associated with the ReplicatorConfiguration
3) the name is ridiculously long.
Add a new enum, Type, to AbstractReplicator, replacing the old enum and deprecate the old enum.