Strip the UTF8 BOM from a UTF encoded response

Some frameworks, such as .NET, often emit the UTF8 byte-order-mark in
the HTTP response.

This commit strips out the BOM when the encoding is set to 'utf8' and
improves compatibility with external services.

(This is a copy of a previous commit for issue #371, which no longer
cleanly applies and requires a refresh).
if query params are empty, then request path shouldn't end with a '?'
Merge pull request #462 from jaipandya/master

if query params are empty, then request path shouldn't end with a '?' (merges cleanly now)
Merge pull request #460 from hueniverse/master

hawk 0.10.0
Merge pull request #461 from kppullin/issue-371-try-2

Strip the UTF8 BOM from a UTF encoded response
Moving response handlers to onResponse.
Using querystring library from visionmedia
Merge pull request #471 from kbackowski/using_better_querystring_implementation

Using querystring library from visionmedia
On strictSSL set rejectUnauthorized.
Merge branch 'master' of github.com:mikeal/request
Style changes.
Print debug logs NODE_DEBUG=request in environment

Used the same kind of debugging technique that's all throughout core.

It's fast, nodey, and extremely useful when tracking down bugs.

The next commit will fix the bugs I tracked down using this method.
Flow data in v0.10-style streams

Note: Request is *not*, at this point, presenting a streams2
API.  However, with this patch, it does not leave responses in
a paused state indefinitely, by taking care to consume every
request that it receives.
Merge pull request #473 from isaacs/v0.10-compat

V0.10 compat
Release.
Rolling master version.
Reinstate querystring for `unescape`

Quick patch for #474
Test for `unescape`

Follow-up on #475 to test #474
Merge pull request #475 from shimaore/master

Use `unescape` from `querystring`
Release.