#19: rose metadata-check

This implements #19 and makes associated changes to `rose edit` to use the new functionality. Note that this is very <em>meta</em> - it's a metadata macro rather than a macro in the metadata, and the rose metadata-check test suite is metadata for the metadata for the metadata for the data.

@matthewrmshin, please review.