Initial support for reverse fields with tests.
Added count field to tests.
Allow multiple ways of extending fields.

So that you do not have to change your code if your parent document adds
fields, but you have not been modifying fields you are getting but just
returning a new object.
Meta should have a reference back to the document.
Simplified delayed queue logic.
Correctly implement inheritance of fields.
Allow redefining documents which were already used in fields.