Added Indexing and Caching

Added indexing of file system calls to prevent repeated searches for
the same assets. Added support for caching, including a FileStore cache
class.
Added tmp to gitignore