Added set comparison assertions. Closes #56

This PR adds four new assertion methods that all work on `ISet<T>` values:

- `Assert.Subset()`
- `Assert.ProperSubset()`
- `Assert.Super()`
- `Assert.ProperSuperset()`

I am not quite sure what one would expect the parameters to represent. Would one expect the first parameter of a call to `Assert.Subset()` (usually called the expected value) to be the set against which the second (actual) parameter is checked to be a subset or vice versa? I opted for the first version, but let me know if this is correct in your opinion.