Add callback annotations to riak_core_vnode
Prevent creation of a bucket type named "any" so that that word can be reserved for riak-admin security commands
Do not let our type name generator stumble across "any"
fix btypes_eqc: mock capabilities added in c9aa007d09
accumulate reserved name errors w/ other bprop errors
Refactor: rename entry for dot (cos that's what it is)

De-opaqueise the dot. Add a `pure_dot` for non timestamped comparing
Merge pull request #573 from basho/rdb/gh-903

Refactor: rename entry for dot (cos that's what it is)

Reviewed-by: seancribbs
Merge pull request #567 from basho/jrd-bt-any2

Do not allow a bucket type named 'any'

Reviewed-by: coderoshi
Prevent claimant from shutting down nodes too soon

Prior to this change, the claimant transfered nodes to the invalid state
after they completed handoff and sent them a shutdown message. These
nodes, however,  often shutdown before the root ensemble membership was
changed. This resulted in the root ensemble becoming stuck because it
couldn't talk to the those nodes anymore. This change makes it so that
we wait for the removal of those members in the root ensemble on the
given nodes before putting them in the invalid state in the claimant.

Making the change above, leaves nodes in the exiting state without
shutting them down. In that case the following line returns the
exited nodes as available members in the cluster still and prevents them
from being removed from the root ensemble.

https://github.com/basho/riak_core/blob/develop/src/riak_core_claimant.erl#L766

Changing that line to: `Members = riak_core_ring:ready_members(Ring),`
causes these exited nodes to be seen as removed by the claimant,  and
update the members of the root ensemble so that the claimant can finally
transition to the invalid state and the removed nodes can be shut down.
Ensure ensemble cluster state is updated when nodes are removed
Add ready_to_exit check to ensure_vnodes_started

Ensure all vnode modules that implement the ready_to_exit/0 callback
return true before transitioning vnodes from leaving to exiting state.
Update core:security:bucket() spec

Buckets are binaries, not strings. See basho/riak_kv#920 for more
detail. This was discovered by the way kv was calling
riak_core_security:check_permission/2.
Merge pull request #577 from basho/bugfix/update-bucket-spec

Update core:security:bucket() spec

Reviewed-by: seancribbs
Correct return type information on riak_core_bucket:set_bucket/2
Made many rpc:call/4,5 calls safer if rex is down.

Created a couple of utility functions to handle do the wrapping. Most
rpc:call/4,5 that where not wrapped in a try/catch have been changed to
use the utility. Those that weren't appeared to want a crash due to
context (such as explictly matching for only the success value).
Updated dialyzer ignored warnings.
Fix hashtree:sha_test_ from timing out

EQC takes a long time, and uses gigabytes of memory to generate 1MB
random binaries, as evidenced by:

    eqc_gen:sample(eqc_gen:binary(1024 * 1024)).

We're still able to write a solid test, by ensuring that we always chunk
the binary into between 1 and 16 chunks. So instead of generating the
chunk size, we now generate the number of chunks, and derive chunk size
from that. This change allowed us to remove one level of ?FORALL
nesting, as well.
Extend hashtree eqc test timeouts

The sha_test_ and eqc_test_ test suites in the hashtree module have
had trouble with slowness and timeouts on slower test machines.  Use
spawn so each test runs in its own process and extend the timeouts to
120 seconds to avoid these spurious failures.
Merge pull request #587 from basho/bugfix/hashtree-prop_sha-timeout

Fix hashtree:sha_test_ from timing out
Add extended timeouts and eunit spawn for chashbin basic_test