Fixes context for notFound in `NpmProxy.decide`

If you were to enable whitelist and you try to install a package that is
not in the whitelist, an error is thrown when `this.log` is called in
`lib/npm-proxy.js` on line 244.  By referencing `this.notFound` on line
188, we lose `this` in `NpmProxy.notFound`
Fixes #5

Allows for better logging.

Allow for a compatible logger to be passed as options.log.  Otherwise,
defaults to `console`.  A compatible logger would have both `error` and
`info` methods.
Merge pull request #7 from evanlucas/patch-5

Fixes #5
[dist] Version bump. 1.1.2
[fix] TODO thoroughly test merge logic to properly merge requests to both public/private. s/merge/public
[dist] Version bump. 1.2.0
[fix] return couchdb like errors from proxy in json form of course
[dist] Version bump. 1.2.1
Merge pull request #1 from evanlucas/reference-issue

Fixes context for notFound in `NpmProxy.decide`
[dist] Version bump. 1.2.2
[api] add ability to configure a specific write target for the public registry of your choice
[doc] document the optional changes to api
Merge pull request #9 from nodejitsu/add-custom-writeUrl

Add custom write url
[dist] bump smart-private-npm 1.3.0
[fix] if there is no vhost property, default to the hostname of the url
[fix] logging format
[fix] Dont writeHead if headers have already been sent by `http-proxy`.
[dist] bump smart-private-npm 1.3.1
[fix] Edge cases had some undefined vars.
[dist] Version bump. 1.3.2