Rename some messages for consistency with other proto files.
Add real update response message and codecs.
Allow the codec user to pass a proplist of type/module mappings for easier translation.

For our current types this might look like:
    [{set, riak_dt_vvorset},
     {counter, riak_dt_pncounter},
     {flag, riak_dt_od_flag},
     {register, riak_dt_lwwreg},
     {map, riak_dt_multi}]

When passed to encode_fetch_response/4, decode_operation/2 and
encode_update_response/4 as the last argument, the types will
automatically be mapped appropriately.
Reduce the size of set and map ops, and allow only one op per update.

As far as the server-side is concerned, only one operation can be
performed at a time. This coalesces the set "add" and "remove"
operations into a single "update" operation, containing both types of
member modifications. The same treatment was applied to maps, creating
a triple of adds, removes, and field updates.
Fix broken MapUpdate message.

* Duplicate field numbers
* Misplaced documentation comment
Reformat the set and map ops so that they the same as the riak_dt ones.

According to Russell's recent changes,

* Sets have add_all and remove_all (to distinguish single adds/removes
  from lists of them).
* Sets also have {update, ListOfOps} for applying multiple
  adds/removes in one go.
* Maps have {update, ListOfOps} where the list includes add, remove,
  and a field-specific update. (Really, this is unchanged from
  before.)
Fix copyright years.
Fix typo in comment, thanks @mrb.
Change warning message in clean_plt target to be more reasonable.
We only send one conceptual operation per update.
Encode the context in the update request properly.
Determine the symbolic type from the submitted operation.
Set return_body to false by default in DtUpdateReq.
Handle non-list Set update operation encoding
Allow maps within maps.
Communicate "not found" responses by way of an empty value.

By wrapping the values in another message, presence or absence of that
field in the response communicates the difference between a set or map
with no entries, and one that was simply not found.
Correct comment about MapFieldType.
Flags on the server-side use on/off, not true/false.
Fix guard on encode_map_entry for flag types.