Add JSON codec module for CRDT HTTP requests.
Add test for map context roundtrip.
Allow set operations nested inside "update" key.
Remove parse_operation/1 as it is no longer needed.
Add dispatch for CRDT resource.
WIP CRDT resource, does not compile.
Finish up the CRDT resource.

* Redirect legacy counters to the legacy URL.
* Fix some formatting.
* Validate and extract the timeout QS param.
* Fetch the CRDT object in resource_exists, always returning true on
  POST.
* Accept the operation in process_post.
* Implement the fetch response in produce_json.
Fix some typos in riak_kv_wm_crdt.
Fix some bugs in the CRDT resource.

* Context is no longer emitted when an empty binary.
* Fix argument order to lists:member/2 in riak_kv_web:is_crdt_type/1.
* Moved malformed_request/2 above forbidden/2 to reflect that it is
  called first.
* Moved POST body check into process_post/2, out of
  malformed_request/2. Halt with 400 when the body is malformed.
* Ensure that the bucket type is checked when security is undefined.
* Fix arguments to riak_kv_crdt functions in produce_json/2 and ensure
  we encode the response body.
* Fix order of arguments to riak_kv_wm_utils:maybe_decode_uri/2 in
  path_segment_to_bin/2.
Fix typo in riak_kv_crdt_json test.
Require application/json content-type on POST.
Bunch of fixes to CRDT resource.

* Allow POST to URL w/o key.
* Don't parameterize the URL by the datatype, just use "datatypes" in
  the path. This makes it more consistent with PB, which doesn't
  require knowledge of the datatype on fetch.
* Return the type with the notfound/404 response, which makes it in
  line with what PB does.
Fix compile warning.