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.
With these two it'd be good to reword them and show the error that would be raised e.g.

```Ruby
it "when an expectation isn't met it fails with the relevant error" do
  expect {
    expect([1, 2, 3]).to be_falsey.and have(3).items
  }.to fail_with "expected: falsey value"
end
```

(Note you'll probably have to import the fail_with matchers from another rspec repo)