stream: don't try to finish if buffer is not empty

fixes #5715
test: http-destroyed-socket-write win32 may ABORT

On windows you can see ECONNABORTED instead of ECONNRESET in various
scenarios, and they are both applicable we're testing that Node is not
swallowing these errors which it was known to do prior to 0.10
buffer: Fix incorrect Buffer.compare behavior

Fixes #7551

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
url: treat \ the same as /

See https://code.google.com/p/chromium/issues/detail?id=25916

Parse URLs with backslashes the same as web browsers, by replacing all
backslashes with forward slashes, except those that occur after the
first # character.

Manual rebase of 9520ade

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
doc: fix a typo

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
src: add --throw-deprecation entry to --help
doc: add spec for util.deprecate()

Signed-off-by: Trevor Norris <trev.norris@gmail.com>
Merge remote-tracking branch 'upstream/master'