Use magicdate to parse date strings

There are some things I don't like about this module, so unless I can
find a better one I will probably have to write my own or modify this
one. Here are the immediate problems I've found:
 * relative date strings produce datetime instead of date
 * strings like '12/30' are unsupported
Delegate date sorting stuff to _data

DataModelAdapter shouldn't know about dates. It should just ask the
underlying data of its children how they should be sorted.
Fallback to string sorting if sort_key undefined in data
Implement sort_key in Transaction
Warn table view when layout might change
Merge remote-tracking branch 'origin/use-magicdate'