Fixes #88
Adds HTTP Basic authentication when using "username:password@host.com" URL syntax
Notify when request is missing a host header
Only add agent property if it is used.

Node.js 0.11 checks whether to use an agent based on whether the agent
property exists, not whether the agent property is truthy.
Refactor file system for prototypical inheritance
Use future tag in npm