Send status updates as `multipart/form-data`
Send status updates as `multipart/form-data`

The `request` library uses `querystring.stringify` to encode the `POST` body,
which leave parenthesis `()` alone, but Twitter appears to expect them
percent-encoded (and http://en.wikipedia.org/wiki/Percent-encoding) appears to
agree that they should be). When you send them this way, you get an impressively
unhelpful error response:

    {
      "code": 32,
      "message": "Could not authenticate you"
    }

Twitter doesn't list code 32 at
https://dev.twitter.com/docs/error-codes-responses, and the message matches
error 135, which tells you your timestamp is wrong.

In order to set the `content-type` as `multipart/form-data` instead of
`multipart/x-www-form-urlencoded`, we could break out the `form` parameter from
the `request` call:

    var req = request.post(url);
    var form = req.form();
    form.append('status', data.body);

But the shared `post` function isn't set up to do that. So instead, we can build
the body ourselves, which is a real shame but works consistently across
services.

cc @bryancallahan

Singly/hallway,Singly/hallway