Subset matcher

Since the modified `contains` matcher introduced some weird behavior, this extracts the subset functionality into its own matcher: ~~containsSubset. (Name very much up for debate)~~ `beSupersetOf`

Note that this doesn't verify that array or ordered set order is being maintained, i.e.
```objc
expect(@[ @1, @2, ]).to.beSupersetOf(@[ @2, @1 ]);
```
would pass.

It also doesn't currently allow mixing types on the left hand and right hand side.
It would be possible to allow all `id<NSFastEnumeration>` on the right hand side and only special case `NSDictionary`.

This also reverts #43 to restore the old behavior.

Fixes #52