Move exception handling into filter_matches.

Review markup.  Cleaner interface - just returns false on match
failure, caller doesn't have to worry.
Simplify Ifc interface.

- remove interpret() method.
- expose filter_matches and as_invocation.