Provide the ability to specify a type on declare.

Provide the ability to specify a type on delcaration.  If the type is
undefined, assume a single-assignment term.  If the type is one of the
supported riak_dt types, bind immediately to the bottom value and allow
the variable to be re-bound if the causal history is greater than the
previous causal history.