MB-8663 Add xdc_settings module.

Its responsibility is to more or less abstract working with both
global and per replication settings.

Per replication settings are stored in replicator document body. I
chose to store them in the replicator document for several reasons:
  1. this mechanism already exists and it was originally supposed to
  be used exactly this way
  2. storing them in ns_config would pose certain questions:
      - coordination between ns_config and replicator db is hard
        (that's the reason we don't really delete cluster references
        but just mark them as deleted)
      - there're two ways the settings for different replications
        could have been stored in ns_config: as a list under one
        key (like buckets) or as an independent keys; the former has a
        problem of conflicts when different replications are edited
        from different places and higher gossiping rate because every
        minor change would require to replicate all the settings, the
        latter doesn't have a way of deleting settings for
        replications that no longer exist

Global settings are stored in ns_config indexed by tuples {xdcr,
parameter_name}.

Change-Id: I034456bb84268e018ea869a4677e1416bb1eb74d
Reviewed-on: http://review.couchbase.org/28177
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Artamonau <aliaksiej.artamonau@gmail.com>