Use a proxy process when joining/removing SC nodes

Centralize the proxy process implementation in riak_core_util and
utilize that in riak_core_claimant:bootsrap_members/1.

We use a proxy process for riak_ensemble_manager:{join/remove} to handle
any errors resulting from the riak_ensemble_manager crashing, and
to prevent late responses from getting sent to the claimant in the case
that it already got a timeout for the given operation.

Also update dialyzer.ignore-warnings.
Demonitor on success in proxy_spawn/1

When we spawn a proxy process to run a function and if it successfully
returns we need to demonitor it so that we don't receive errant 'DOWN'
messages.
add riak_core_util:proxy_spawn_test/1
Merge pull request #609 from basho/bugfix/use-proxy-to-prevent-crash-when-joining-sc-nodes-mixed-clusters

Use a proxy process in claimant when joining/removing SC nodes

Reviewed-by: lordnull