support requests with a binary body

if no content-type is given, or the content-type is either
one of application/json, application/x-www-form-urlencoded,
multipart/form-data or starts with text/ then encode in utf8
otherwise let req.body be a buffer.
Merge pull request #312 from timkuijsten/binbody

support requests with a binary body