WIP: to automate checking of metadata and to write automatic tests for interface change checks

this will address future scenarios such as those reported by eric on the mailing list

i'll rebase this once the big PRs are merged.