Properly handle case where filter removes all JUnit3 tests in suite.
Properly handle case where filter removes all JUnit3 tests in suite.
Merge branch 'master' of https://github.com/brettchabot/junit

Conflicts:
	src/test/java/org/junit/tests/junit3compatibility/JUnit38ClassRunnerTest.java
Address code review comments
Change RejectAllTestsFilter to only reject atomic tests.
fail on timeout displays stack of stuck thread (Issue #727)
improvements suggested by David Saff
improvements suggested by dsaff, and added self-test
fixed logic of self-test
style improvements
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