added __slots__ to BaseDocument and Document; disabled the get_%s_display feature
changed the _data field to static key-value mapping instead of hash table