Support `[DisplayFormat(DataFormatString="{format})]` and address related TODOs

- see individual commits and bug #844 for details

/cc @pranavkm
lines are exactly 120 characters long