Patch for exception message expectations

### Changes:

- adds `@expectedExceptionMessageRegExp` annotation
- adds TestCase::setExpectedExceptionRegex($exceptionClass, $pattern, $code) so regex expectations for exception messages are still first class API citizens
- recovers old behavior of `@expectedExceptionMessage`, keeps the tests introduced by #1264
- for good or bad, both `@expectedExceptionMessage` and `@expectedExceptionMessageRegExp` can now be used simultaneously
- removes ambiguity already discussed in #1328

Relates to: #1266 #1264 #1263

#### Things not exactly related to this PR that I think we could do better:

- I particulary don't like the redundancy of `TestCase::setExpectedException` vs `TestCase::setExpectedExceptionRegex`, but it was the only sane way to keep the feature since there are no granular methods like `TestCase::setExpectedExceptionMessage` or `TestCase::setExpectedExceptionCode`. Any ideas?

- The way PHPUnit grabs annotation from doc blocks is spread across multiple methods at `Util\Test` class, and it can be kinda tricky to expand the API (look at how much edits I had to do just to achieve a minor tweak). There are many annotations libraries around, I recommend to pick one ;). I could make a PR to improve this in the future.