be.equalTo specs uses shared examples and metadata

This significantly reduces the amount of concrete test code in the actual
specs, and provides reusable test for tests of other matcher types
Updated be.greaterThan specs

Reuse common matcher verification code causes less duplication, and covers more
cases, e.g. both usage with `should` and `shouldNot`
Removed unused type