Additional functionality.

* `makeDocument` factory method
* attribute assignment supported
* default constructor added (with `self` URL)
* access by key added (`print doc['key']`)
* iterator over keys added.