Hack around memory allocation bug.

When piping GET request to files the request() library has several
memory allocation failures, the first is due to incorrectly allocating
the entire body contents to a Buffer:

https://github.com/mikeal/request/blob/v2.40.0/request.js#L1018

Even though the response is being piped to a file, the second is a JS
memory allocation which I could not be bothered to track down as the
native http node module has no problem piping large files to a local
write stream.

So an additional req() method has been added that bypasses the request
library and uses the native http module.

There is currently very little error handling and it require a lot more
work, however it allows large attachment downloads to complete without
memory allocation issues.
0.0.37