#1176: check id usage in fail-if, warn-if

This checks that ids written in `fail-if` and `warn-if` expressions
are actually present in the metadata.

The old rule test in metadata-check was actually using ids not
present in the metadata, so that's been updated in both
source locations.

@arjclark, please review.
docstring?