Rewrite parts of the documentation.

Describe every expect method with a single test.
Revert changes of 128553f. Fixes #687.

Still fixes #121, but the original fix was superfluous. Added documentation
about handling assumes and asserts in conjunction with the
ExpectedException rule.
Extract isAnyExceptionExpected().

Improve readability and avoid duplicate code.
Allow expectation as parameter of custom message.

Simplifies the code, because custom and default message use the same code.
adding annotation validators functionality
changes after feedback
More changes after feedback

- Fixed indentation
- Simplified hasValidatorAnnotation method
- Deleted test that was covered elsewhere
Changes from more feedback
- extracted creation of annotation validator into a factory
- added thread saftey around collections
added missing documentation
documentation added for AnnotationValidatorFactory
More changes after feedback.
Moved validator to category packages.
Changes around unmodifiable maps.
Made AnnotationValidator abstract.
More changes after feedback
- ParentRunner now has null object pattern for null annotation validators
- unmodifiableLists are now inserted into the maps of fMethodsForAnnotations and fFieldsForAnnotations
- null value check has been added to the AnnotationValidatorFactory
spacing
- Moved expect in tests to be right before test method is called
- Fixed javadoc comment in map getAnnotationToMethods/getAnnotationToFields methods
- Fixed duplicate test for annotationToMethods
- Sorted fields before iterating through them for annotations in TestClass
- Removed redundant wrapping of unmodifiableMap in getters of annotationToFields/Methods
- Moved validator package to org.junit.validator
- Fixed up some imports
- replaced null object pattern with null check in ParentRunner for validators
- added a comment regarding sorting of declared fields
- iterated over map using entry sets and not key sets in TestClass
refactored copying of maps to unmodfiableMaps in TestClass
added the since 4.12 where appropriate
- statically imported Collections where appropriate
- refactored the construction of the incompatiable annotations of CategoryValidator to be initialized immediately