When making API calls, provide "data" not "params"

Then using the requests library (or our wrapper), one can provide the "data" and
"params" arguments. The "data" arguments can be encoded (e.g. as JSON), but the
"params" arguments are encoded directly in a URL.

When communicating with the API, it is sensible to provide all arguments through
a single channel. This change ensures that, whenever possible, all arguments are
passed to the API as JSON-encoded data.