Fix catch pattern to match all errors
Fix TCP mon to correctly spot nodes coming up.

Corrected add_dist_conn argument order on nodeup event.
Merge pull request #352 from basho/jdm-tcp-mon-add-dist-fix

Fix TCP mon to correctly spot nodes coming up.
Merge pull request #351 from basho/gh350-vnodeq-stats

Fix catch pattern to match all errors
Roll version 1.4.1
Improve Cluster Metadata Storage

* move to using a dets file per prefix/subprefix
* store data in ets table per prefix/subprefix. read from ets
* restricts prefix/subprefix to binaries
Basic Iterators for Cluster Metadata

Allows iteration and folding over all keys stored under a
prefix/subprefix
Further Cluster Metadata Storage Improvements

* MD5 prefixes for use in filenames. Raw binaries are unsafe and
  difficult to parse.
* Store metadata in in a manifest file. Folding over files in a directory
  to determine existing data is unsafe, error prone, and stupid.
* Re-allow prefixes to contain atoms. To prevent collision between binaries
  and atoms a filename trailer is appended.
* Sync all dets writes to disk so we don't easily lose data on emulator crash"".
Fix Cluster Metadata Conflict Resolution

* pass proper arity function to dvvset:reconcile/2
* timestamp resolved value
Add Optional Conflict Resolution to Metadata Iterators

* When resolution is used, iterators are "single-use".
The iterator functions aren't pure in this case. If no resolution option
is provided then this resriction does not apply
* Resolution can be done via function or lww like get/3
Allow Conflict Resolution on Metadata Write

extend riak_core_metadata_object:modify/4 to take a
resolution function (it differs from resolve/2, see edoc).
Merge branch '1.4'
Add Conflict Resolution in Metadata Folds

using the existing support in iterators
Add Logical Deletion to Cluster Metadata

* similar to ring metadata
* write tombstone values on delete
* handle tombstones on read
* resolvers and modifiers must be tombstone-aware. see typespecs.
* iterators/folds can optionally return the tombstone value or can provide
a default value to return or function to apply when they are encountered
Iterate only a Subset of Cluster Metadata Keys

If keys are tuples then a match-spec like pattern
can be passed as an option to iterator/2 and fold/4 to
filter which keys the iterator visits.
Teach riak_core Bucket Types

Like buckets, we must teach core this because a few subsystems
use them. Bucket Types provide a method for grouping buckets
logically (see https://github.com/basho/riak/issues/362).
Merge branch 'bos-bucket-type' into corekv-unstable