Cuttlefish schema for background manager subsystem (aae and handoff) kill/enable switch
Rename background manager settings and add unit tests for the schema.
{level, advanced} -> hidden
Send reply in event of a premature exit (via throw) from fold.
Ignore {ack,_,now_executing} that arrive late
borshop kludge: adjust temporary dialyzer.ignore-warnings
Add sys_monitor_count and sys_port_count.

Permits tracking of potentially leakable resources.
Fix some dialyzer errors

riak_kv_vnode:fold_extras was only ever called with the atom 'keys' as
its first argument, so I just renamed the function and removed the
unused parameter. I also removed the catch-all pattern match that would
never match.
Fix some AAE dialyzer errors

This commit fixes all the dialyzer errors for `riak_kv_entropy_info`
as well as an error for `riak_kv_exchange_fsm`.  The main change was
to fix the spec for `#index_info.repaired` which is actually a
`#simple_stat{}` not a `pos_integer()`. However, even after that
dialyzer was not happy with the explicit default values of `undefined`
without corresponding entries in the type definition. This seemed like
a waste to me given that Erlang will implicitly default records values
to `undefined` and insert the appropriate type spec. This is discussed
in the following reference manual:

http://www.erlang.org/doc/reference_manual/typespec.html#typeinrecords

Here is the full list of dialyzer errors which have been fixed:

```
riak_kv_entropy_info.erl:78: Function exchange_complete/4 has no local
return
riak_kv_entropy_info.erl:83: Function exchange_complete/5 has no local
return
riak_kv_entropy_info.erl:84: The call
riak_kv_entropy_info:update_index_info({_,_},{'exchange_complete',_,_,_})
will never return since it differs in the 2nd argument fr
riak_kv_entropy_info.erl:161: Record construction
repaired::pos_integer() and last_exchange::{non_neg_inte
riak_kv_entropy_info.erl:194: The call
riak_kv_entropy_info:update_simple_stat(Repaired::'undefined' |
pos_integer(),pos_integer()) will never return since it differs in
riak_kv_entropy_info.erl:208: Function compute_exchange_info/4 has no
local return
riak_kv_entropy_info.erl:218: The call
riak_kv_entropy_info:stat_tuple(Repaired::pos_integer()) will never
return since it differs in the 1st argument from the success t
riak_kv_entropy_info.erl:225: Function update_simple_stat/2 has no local
return
riak_kv_entropy_info.erl:225: The pattern <Value, 'undefined'> can never
match the type <'undefined' | pos_integer(),pos_integer()>
riak_kv_entropy_info.erl:227: The pattern <Value, Stat = {'simple_stat',
_, Min, Max, Cnt, Sum}> can never match the type <'undefined' |
pos_integer(),pos_integer()>
riak_kv_entropy_info.erl:234: Function stat_tuple/1 has no local return
riak_kv_entropy_info.erl:234: The pattern 'undefined' can never match
the type pos_integer()
riak_kv_entropy_info.erl:236: The pattern {'simple_stat', Last, Min,
Max, Cnt, Sum} can never match the type pos_integer()
riak_kv_exchange_fsm.erl:379: Function exchange_complete/4 has no local
return
```
Create a one-arity build_filter function

When called with `undefined` as the last argument, build_filter/3 was
ignoring its first argument (it still does for backward compatibility).
Because we were providing it with a dummy 'all' argument, dialyzer was
complaining. Since we know at the call-site whether we're calling the
function with `undefined` or not, we can just use the new one-arity
version.

Fixes #923
Add 'late_put_fsm_coordinator_ack' counter
Dialyzer warning shift, part II
Specified return code for riak_kv_console:bucket_type_status
fix #929: wait for riak_kv_stat to unregister

The {{already_started, ...}, {child, ...}} error noted in the description
of issue #929 is caused by an instance of riak_kv_stat trying to register
its name when another instance is already registered. Add
riak_kv_test_util:wait_for_unregister/1 and use it in
riak_kv_test_util:cleanup/3 to wait for the registered instance of
riak_kv_stat to unregister and stop. Remove similar functionality in
test/get_put_monitor_eqc.erl and make that module call
riak_kv_test_util:wait_for_unregister/1 instead.

Also add goldrush to the app list in riak_kv_test_util:dep_apps/2 to ensure
it's started and stopped correctly; this prevents crash dumps caused by
{application_terminated,goldrush,killed} at the end of "make test".
Use binary_to_atom/2 instead of binary_to_existing_atom/2.

There's a possibility that the riak_dt code that contains the set
operation atoms hasn't been loaded when
riak_kv_crdt_json:set_op_from_json/1 is invoked, meaning
binary_to_existing_atom/2 will raise a badarg. We are already checking
the incoming operation as a binary via a guard on the relevant
function clause, so it is safe to use binary_to_atom/2 instead.
Whitespace cleanup
Erlang environment changes for R16B02-basho5
removed TODO saying to fix the thing I just fixed
Merge pull request #935 from basho/bugfix/jnd/everybody-to-the-limit

Fix limit checks in riak_kv_env for R16B02-basho5
Merge pull request #933 from basho/bugfix/sdc/http-crdt-badarg

Use binary_to_atom/2 instead of binary_to_existing_atom/2.