fix deletion of objects

deleted flag was being improperly set when serializing the object
use capabilities to determine when to use new object format

* register {riak_kv, object_format} capability
* writes should only be serialized to v1 format when it is
  supported accross the cluster
* before sending data between nodes (handoff) the binary format
  should be changed to the current version supported accross the
  cluster. This is to ensure an older node does not receive data
  in the new format after being downgraded
* robj_to_binary -> to_binary. it also takes an explicit version
* binary_to_robj -> from_binary
* to_binary_version/4 naively converts between binary formats.
  If/when we have future versions this function can be "smarter"