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.
Fix plumbing of non-default origins (cors)
Chrome requires accept and origin in ac-allow-headers.
add new server.versionedUse()

To bind server.use to specific versions.
lint/style cleanup for #318
#329 res.methods incorrect in MethodNotAllowed event
Merge pull request #326 from jfieber/cors

CORS fixes
#326 merge in @DamonOehlman tweaks (temporary)
#323 check for /? in pre.sanitizePath()
Fix serveStatic to look in correct dir for 'default' file
Merge pull request #331 from trentm/fix-static-default

Fix serveStatic to look in correct dir for 'default' file
Cache-Control max-age should show minutes, but was instead showing kilominutes (e.g. 3.6 vs 3600).
#335 fix content-type routing and req.accepts() to use real mime parsing
Merge pull request #333 from Aldaviva/master

Cache-Control max-age should show minutes, but is instead showing kilominutes (e.g. 3.6 vs 3600)
Merge pull request #312 from timkuijsten/binbody

support requests with a binary body
lint cleanup
#322 add `req.route` (Tim Kuijsten)
minor server.toString() tweak
Merge pull request #327 from timkuijsten/versioneduse

add new server.versionedUse()
lint cleanup