Pass test: whether '[(])' returns false

Abandon histogram approach in favor of a recrusive function, has_match?.
The function is supported by a Brace class, which can answer questions
about the shape and direction of braces.
Test whether it returns false given '[({})](]'

Test doesn't pass yet. #braces_matching? should be able to tell how far
through the array #has_match? recursed. If it hasn't looked at all
braces, #braces_matching should start it off again at the point where
has_match? returned.