Created base classes for chainable matchers

Chainable matchers are matchers that can be chained similarly to AssertJ
assertions.
For more information, read the documentation on either of the new classes.