Organize BaseDocument tests.
(Fixes #33) Field Name vs. Document Name

You can now give a field a name that is different from it's variable name and
it will be persisted correctly.