- Logs a warning message when strong consistency is enabled and AAE is
  disabled.  (defect #959)
Fix reip loading of riak_core
Merge pull request #978 from basho/bugfix/jsb/start-ensemble-without-aae

Verify strong consistency configuration on startup

Reviewed-by: kellymclaughlin
Merge pull request #977 from basho/bug/er/reip-fix

Fix reip loading of riak_core

Reviewed-by: jburwell
Add riak_kv_ensemble_backend:handle_down/4

Have the backend monitor the vnode and vnode proxy. The peer will
receive 'DOWN' messages and call riak_kv_ensemble_backend:handle_down/4
as a result.

Part of a fix for basho/riak_kv#985
Fix MOD_MAP when datatype update request includes return_body=true
Merge pull request #987 from basho/bugfix/sdc/dtupdate-mod-map

Fix MOD_MAP when datatype update request includes return_body=true

Reviewed-by: russelldb
Fix AAE on/off detection

riak_kv/anti_entropy takes a value of the form {on|off, Opts}, not on
off.
Correct discrepancy between do_get_term and case clause in do_delete

This was causing node shutdown when running the Java client
integration tests. On a small scale, this would be fine (one vnode
crashing would start back up), but in massive-delete scenarios entire
clusters could go down. We should heed the TODO message in do_get_term
and handle this holistically, but for now this should prevent the
vnode from crashing.
Merge pull request #993 from basho/bugfix/fix-ensembles-aae-detection

Fix AAE on/off detection

Reviewed-by: coderoshi
Merge pull request #992 from basho/bugfix/sdc/notfound-badspec

Correct discrepancy between do_get_term and case clause in do_delete

Reviewed-by: reiddraper
Merge pull request #990 from basho/bugfix/monitor-vnode-proxy

Add riak_kv_ensemble_backend:handle_down/4

Reviewed-by: lordnull
Make ensemble trust/paranoia configurable

This commit makes K/V ensemble trust user configurable, allowing for
two settings: low and medium.

The 'low' setting assumes that vnodes are durable -- that once data
has been committed to a vnode, that data will never be silently
lost. In this mode, K/V ensembles are not required to perform an AAE
exchange before being trusted. This mode is similar to how most
consistent databases operate, and is suitable when users trust that
their disks will not lose data undetected. Using a filesystem design
to detect bit rot (such as ZFS) on a redundant RAID configuration is
essential when using 'low' paranoia.

The 'medium' setting assumes that vnodes are not durable, and that
they may silently lose data without detection. This mode requires all
K/V peers that restart/crash to first perform an AAE exchange with a
majority of other peers before being trusted. Since this exchange must
occur with a majority of peers (not counting the untrusted peer), this
mode requires more than a usual quorum majority to guarantee
availability.

The 'medium' mode assumes that the AAE trees on remote peers are not
corrupted such that they are missing the exact same keys which the
corrupted node is missing from its K/V data. This should be true in
practice, since AAE trees are rebuilt from scratch once a week across
the entire cluster.

Note: the paranoia setting is designed to deal with undetected data
loss -- an issue that many systems have no protection against. Normal
data corruption that results in a detected CRC error can be handled
without AAE and works in either paranoia mode.
Add cuttlefish strong_consistency.paranoia
Add schema test for strong_consistency.paranoia