save/report build statuses

See the [README.md](https://github.com/airportyh/browserify-cdn/commit/3983796617d75d5ce97cb8a739f36602d7327a39) for API info.

One implementation detail to note is that I factored out a SubCache "class" in cache.js, the goal of which is to allow lower level access to the database for saving the build statuses - which now I realize do not really use the cache semantics at all. Whereas before, you'd use `c.<subdb name>(...)`, now you should use `c.<subdb name>.check(...)` to perform the normal cache query.

This might be a bit rough, so few free to critique.