New matcher: `have_attributes`

see: https://github.com/rspec/rspec-expectations/issues/565

@myronmarston @JonRowe @cupakromer /cc

TODO's
- [ ] update README

We should add an aliased form of this matcher for use composed expressions:

``` ruby
expect { |probe|
  foo(&probe)
}.to yield_with_args(an_object_having_attributes(:name => "Jane", :age => 40))
```

I'm not sure what the best phrasing for the alias is, though.  Most of our other aliases use the `-ing` form (which is why `an_object_having_attributes` is what I used above).  Another possibility is `an_object_with_attributes`, which reads more naturally (to me, anyway) but is less consistent with the naming convention of the other aliases.

What do others think?

/cc @samphippen @xaviershay @JonRowe @soulcutter @cupakromer