Send JSON as payload so that ampersands don't break messages

The Slack API specs say that you should either send `payload=...` as a POST
param or send JSON in the request body.  When sending the `payload` parameter,
Slack appears to do normal URI param parsing, treating ampersands as a param
separater even if they are buried in the JSON.

Sending the JSON as the body fixes this issue.