as was done before for Hpricot, though I'm considering dropping this
:matches? has grown big and ugly, but i want some assurance that all of these messages are legible and make sense before i start refactoring too heavily
this is not as pretty as with_tag(), and can easily get confusing when you start tossing should_not around, too. i just didn't feel like thinking through how to get free-floating with_tag() calls working yet.