Added more docs and made API more consistent.

Requests that are well-formed but semantically incorrect
now return 422 Unprocessable Entity instead of 400 Bad Request.

Renamed /api/submit to /api/submission. It now returns 201 Created on
success instead of 200 OK.

The API now returns JSON in more error responses. I'd like to also
return JSON errors on 401s and 400s but I didn't write the
basic auth or body parser middleware, and I'm not sure if it's possible
to change their response content.
added more docs to readme.