Update return values for mock Find_one() calls

While most of the tests don't care that mock `find_one()` returns the exact same document the real `find_one()` would, it's important that it does. This means that `_id` should always be included in the document. Even though `_update()` will pop it, it's better to make that happen explicitly. If there is ever a change to `_update()` that affects its interaction with `find_one()`, I want as many tests as possible to break.

This also means that nested values within the document should be handled correctly. The real `find_one()` would return these as nested dictionaries, not use the dot notation.