Cause be matcher to fail on chained expect

Basically: === was being used instead of `matches?` for matchers. I like the direction of this fix, but the error message that is generated is awful. Also the spec could do with some work.

Initial thoughts plz.

cc: @cupakromer