Make arguments in the body json, not form data.

Note that this will break `haas.cli` if we merge it; we'll have to update that.
So, I'm trying to fix this now. A few thoughts:

1. it isn't required that the content length is provided.
2. it's kindof stupid that we're loading this into memory and then parsing out the json, we really ought to just do a `json.load`.
3. There has to be a way to handle the over-sized-request issue from the production webserver's configuration.

I say we simplify this by ripping out the explicit length checking, and offload that onto the web server.

Thoughts?

Failing that, it should be pretty easy to write a wrapper "file-like" object that truncates results after a certain length, but I think it's probably unnecessary.