Merge pull request #10 from cloudant/12710-ignore-missing-dbs-on-sync
Fail fast if asked to monitor process on down node

BugzID: 12713
Keep the DOWN notifications DRY
Remove an ancient debugging statement
Merge pull request #2 from cloudant/12713-fail-rexi_DOWN-faster

BugzID: 12713
Remove unused variables
Connect the cluster on startup

Before this patch mem3_sync:initial_sync/0 was pretty much a noop for
two reasons.  First, mem3_sync was starting before mem3_nodes, so
calling mem3:nodes/0 gave undefined results.  Second, we were guarding
everything with a check that the Node was part of nodes(), so we never
really tried to connect things at all.

Applying this patch causes a cluster node to reconnect with its peers
~immediately (but asynchronously) on startup.  It also initiates
internal replications for the shards hosted on that node.  This can
delay the boot sequence a bit on spinning rust.

BugzID: 11596
Merge pull request #23 from cloudant/12634-update-type-specs

Update -specs to reflect new realities
Fix internal replication hangs on nodeup

The recent patches to eagerly reconnect the cluster when a node boots up
have caused the internal replicators on the other cluster nodes to hang.
Adding rexi_monitor protection around the rexi_call function in the
replicator shows that there is no process named rexi_server on the
freshly booted node.  It seems that the name registration might happen
asynchronously.

This patch adds the aforementioned rexi_monitor protection so that the
replications triggered by the live cluster nodes fail quickly and get
resubmitted once the new node is fully operational.  It has the nice
side effect of also terminating replications against failing nodes more
rapidly.

BugzID: 11596
Don't sync global dbs when node is added to self

BugzID:11596
Ignore loopback replications
Merge pull request #12 from cloudant/11596-fix-mem3-rep-hangs
Use a tagged version of twig
Use tagged versions of dependencies
Use a tagged version of twig
Support conflicts=true with include_docs=true

Support conflicts=true when used with include_docs=true for 1.1
compatibility.

BugzID: 12725
Support conflicts with include_docs in _changes

BugzID: 12725
Merge pull request #24 from cloudant/12725-include_docs_conflicts
Zones can be blacklisted

Zones can now be blacklisted by adding their names to the mem3
"blacklisted_zones" list property. No node in a blacklisted zone
will be chosen when creating databases.

BugzID: 12728
Support conflicts=true with include_docs=true

Support conflicts=true when used with include_docs=true for 1.1
compatibility.

BugzID: 12725