Add stub DataModelAdapter module/class
DataModelAdapter takes data in __init__
Stub numChildren()
Stub hasData()
Stub numData()
Implement numData()
Implement __len__ for Ledger
Implement getData()
Set headers explicitly on DataModel
Replace numData() with numChildren()
Correct implementation of numChildren()
hasData() returns True iff _data is not None
Add _parent field with setter/getter
Set self as parent of child
Check for key existance in getData()
Add child(); TODO: test this
Fix headerData
Adapt budget.py to use new DataModelAdapter
Transaction has-a dict, not is-a dict
Merge remote-tracking branch 'origin/datamodeladapter-2'