Adds typed mkey existence condition

If you pass 'mykey': {'type': 'str'}, it will select every entry for
which the key 'mykey' is set to a string value, regardless of the value.

This is not accessible from the command-line, the viewer, or covered by
tests.
Adds more extension points