Matchers: Add matchError

We may wish to only test a userInfo or domain of an error for equality, or perform matching other than object equality of ```NSError```'s. ```matchError``` will keep symmetry with ```matchValue```

- [x] Implementation
- [x] Tests
- [x] Documentation