New functions for manipulating user metadata and secondary indexes

Hi,

I have created a set of functions that simplify management of user metadata and secondary indexes in the metadata dict. The reason it operates on the metadata dict instead of the riakc_obj itself is that it allows handling of multiple dicts when there are siblings present. The change is backwards compatible as there is only new code, and I have also added a set of unit tests.

I believe this change addresses the following issues:

https://github.com/basho/riak-erlang-client/issues/70
https://github.com/basho/riak-erlang-client/issues/43
https://github.com/basho/riak-erlang-client/pull/40

It could also possibly resolve the following issue:

https://github.com/basho/riak_pb/pull/24

Best regards,

Christian Dahlqvist