Add Google's LRU cache implementation

FileHandler now intelligently serves files out of an LRU cache.
Work still needs to be done on managing the cache size, but for now it
does a passing imitition of being ridiculously fast.
Add locking to cache; support profiling

Cache now has a lock on adding operations to prevent several concurrent
threads all reading the same file into the cache. There is also now
support for heap profiling using the heapprofile flag.
Add debug-mode logging to cache process
Add haven binary to gitignore