support compounding expectations

Currently, the `Have` matcher doesn't support [compounding expectations](https://www.relishapp.com/rspec/rspec-expectations/docs/compound-expectations) with `RSpec::Matchers::Composable#and`, which is functionality new to RSpec 3.x. 

This PR includes the `RSpec::Matchers::Composable` module in your custom matcher so we could compound with the mixin method. I've also added 3 unit tests, so see those for a simple example of compound expectations in action.
This module is only defined in RSpec 3.  In RSpec 2.99 it is not defined and this will cause an error when loaded.  You should conditionally include it if it is defined.