Cluster Metadata (Part 1/2)

This PR is the first of two that comprises the initial version of `riak_core`'s new cluster-wide meta data store. In the future, it is intended for this store to be used in place of metadata currently stored in the ring. 

__[part 2](https://github.com/basho/riak_core/pull/370) should be merged into this PR before merging into develop__

This PR includes the following:
* in-memory (and for-now on-disk) representation of metadata objects
* per-node local storage in DETS with full in-memory copy in ETS
* API for local access to metadata (get/put/iterators/folds)
* Initial implementation of broadcast support for replication (see more below)

This PR does not yet include, but may before merge:
* subsystem documentation (in docs/)

This PR does not include (see [part 2](https://github.com/basho/riak_core/pull/370)):
* ensured at-least once delivery in `riak_core_broadcast` (this is what will be included in part 2)
* local tracking of changes for groups of keys

In addition, this PR includes an implementation of [Dotted Version Vectors](https://github.com/ricardobcl/Dotted-Version-Vectors#how-to-use) which are used as the logical clock for metadata objects. The implementation is a direct copy of the implementation [built by Carlos](https://github.com/ricardobcl/riak_core/blob/dvvset/src/dvvset.erl) including the MIT license. This license, at a minimum, must be addressed pre-merge.