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.