Save ensemble/cluster state when cluster enabled

Fixes #34 and hopefully basho/riak_kv#983
See #34 for details
Dude, somebody needs some coffee today :)
This moves the sync to the join case, which I mentioned as an example of a path that saves the state to disk.  I believe the right way to do this is to call maybe_save_state after activating the cluster.  If that fails for any weird reason, it would be safer to reply with error and not go on. That way we don't have to deal with an activated state that wasn't saved to disk.  Then later call state_changed on it so peers are started and finish as before. What do you think?