This new matcher is used to improve the `AssertThatIsOdd` and
`AssertThatIsEven` Refaster templates.
While there, apply assorted semi-related test improvements.
This rule is implemented using a Refaster template, relying on the new
`ThrowsCheckedException` matcher.
While there, introduce `AbstractTestChecker` to simplify the test setup for
Refaster `Matcher`s. This base class flags all `ExpressionTree`s matched by the
`Matcher` under test.
This new checker inspects inline code passed to `CompilationTestHelper` and
`BugCheckerRefactoringTestHelper` instances. It requires that this code is
properly formatted and that its imports are organized. Only code that
represents the expected output of a refactoring operation is allowed to have
unused imports, as most `BugChecker`s do not (and are not able to) remove
imports that become obsolete as a result of applying their suggested fix(es).