Add different steps of analyzis.

Because the validator has to check for wrapper classes first, and then has
to apply the usage of primitives and string in non-wrapper classes: Add
tasks that can be triggered one after the other, validating the rules step
by step
Remove unused imports
Separate wrapper class visitor and usage visitor in two packages
Remove literals from primitive type checking
Remove unused oc mock
Revert "Remove unused oc mock"

This reverts commit 4f78d8a9a7b6128962664c05e8ceb81ce29255ce.
Add RuleTasks for else rule and indentation rule
Use polymortphism in rule tasks
Test mocks use correct task
Rename method that applies a task on a list of units
Satisfy liskov principle for all rules: AllRuleFactory does not have a creator method for a RuleFactory
Move rule factory from test to src
Add primitive and string integration test
Rename package to enable integration test to find the correct package
Let the factory creating PrimitiveRuleValidators use a given reporter
instead of an empty repoter implementation.

This enables the integration test case to get violations via the test
violation reporter.
Separate between finding a wrapper class and using a primitive type in a
wrappter class in in ValidationHandlers
Fixup: add ValidationHandler
Rename ViolationHandler
Task validating all rules uses no reporter for determination if a given class is a wrapper class
Add assertions to primitive wrapper integration test