Adds gitignore.
First commit with memory cache (untested). Disk cache still TODO.
Starts implementing disk cache.
Adds LruCache for the memory cache.