Accept simple form encoded data for REST APIs

Simple cases like /review or /abandon can now accept standard form
values for basic properties, making it simple for tools to directly
post data:

  curl -n --digest \
  --data 'message=Does not compile.' \
  --data labels.Verified=-1 \
  http://localhost:8080/a/changes/3/revisions/1/review

Form field names are JSON field names in the top level object.  If dot
appears in the name the part to the left is taken as the JSON field
name and the part to the right as the key for a Map. This nicely fits
with the labels structure used by /review, but doesn't support the
much more complex inline comment case. Clients that need to use more
complex fields must use JSON formatting for the request body.

Change-Id: Ica3db5db43c2fbc84f4cf7f36677e0cbbd116f26
3 files changed