Cleanup: remove `RelationalMixin.fetch`, test fixing
Make cache even more sticky; checking with `in` (`__contains__`) will grab Documents it doesn't have yet.
Only use `_memo_related_docs` as a local cache until we have access to the request's global cache
Use DocumentCache as both local and global cache. FAILING TESTS, NOT LIVE YET.
Fix an issue where cache.get wouldn't return the Document if the argument itself
is a Document, but without an id.
In `update_hasmany`, use cache.get instead of cache.add; add doesn't do lookup for DBRefs.
Testcase fixing; all pass! (..but test coverage is quite weak..)