New matcher: `have_attributes`

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

sounds good. 

I thought, that was a specific issue with Struct... 
surface_descriptions_in isn't tested enough (from what I've seen)
we should have a unit test for each kind of type.

we can deal with ```surface_descriptions_in``` in another PR :-)