HasFormat: add getFormatName method

By restricting the getFormatName method to the Format class, we lose the
ability to modify it via any state in a Format's components. By adding a
signature to HasFormat, individual components (e.g. Metadata) can
override the default behavior based on their state.
MetadataWrapper: delegate getFormatName calls

Same logic as getFormat. The getFormatName method was added to allow
overriding of the format name, so we need to delegate to the wrapped
metadata.