Cache results for collections, references and embedded documents.

Now the reload method clears the cache too.

Closes #7