Support python3 & various tweaks.

Python3 Changes:
* Fix __init__.py's imports for python3.
* Change the way BaseDocument gets its metaclass.
* Rename BaseDocument to Document in light of the above.

The rest:
* Move BaseDocumentMeta's __new__ into __init__.
* Rename pseudo-private attributes from _* to __*__.
* DotDict forwards attributes without leading __ to getitem.
Update PyPI keywords.
Version bump: 0.4.0.