Add support for finding node by multiple attributes

This adds a Rails-style `find_by` method that accepts a hash of 1 or more attribute/text pairs to match nodes against. A `find_by!` method was also added that raises a `Capybara::ElementNotFound` exception when no match is found.
we use this pattern a lot. Let's refactor it?