Populate via ServerResponse

Previously the cache was populated via a ClientResponse. That was
slightly weird. Now it listens to a ServerResponse, which makes the API
a bit more sane.

Also refactored the tests a bit by breaking cache.js into multiple
individual test files.
Copy backendUrl property
Move lib.http methods into http.js
jshint fixes
Improve comments
Increase sleep
reject() -> process() (much better name!)
Add comment
Fix tests, with the exception of http-only-if-cached.js
Fix tests

(Finally!)
CS fixes
Remove mongodb

It doesn't really work for what we want to do.
Merge pull request #9 from ithinkihaveacat/populate-via-server-response

Populate cache via server response

... and memcached fixes too.