Version one of caching

This should have caching working. The functionality to retrieve web
pages from remote servers is yet to be implemented.