Add `ModelMetadata.HasNonDefaultEditFormat` property and related fixes

- see individual commits and bug #844 for details

/cc @pranavkm
also lose the perhaps, just put stuff here that you are sure about. You can use the term and potentially custom ...