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

- see individual commits and bug #844 for details

/cc @pranavkm
Also, does this depend on the order in which `ComputeEditFormatString` and this method are called?