Begin implementation of prototype convergent computations.

Provide the ability to specify a type on delcaration.  If the type is
undefined, then assume a single-assignment term.  If the type is one of
the supported riak_dt types, bind immediately to the bottom value.

Resolve a series of circular dependencies, which trigger deadlocks when
vnodes need to coordinate actions against themselves.

Finish implementation of replication across preference lists of vnodes.

Resolve bugs where single-assignment variables were not considered
final.