add support for configuring couchbase XDCR (replication) and bump to v3.0

needs testing but submitted for early review
The `getCluster(node)` method potentially returning the node itself (which is not a `CouchbaseCluster`) is confusing. I'd prefer it returning a `Maybe.fromNullable(Iterables.getFirst(clusterNodes, null))`.