Collect statistics during projects batch analysis

Add --batch and --force options to runner.py script. The first
one starts batch analysis where subdirectories of the directory
specified will be analysed (each counts as project).

For each of them the file ./reports/${PROJECT_NAME}.json will
be checked first. If it exists its data will be used and further
analysis will be skipped, unless --force option was specified as well.
Ignore project where no parameters at all were found in statistics
Add test of statistics report format. Include project name in configuration.
Add base classes number in statistics report
Skip base classes with the same name as its subclass.

Sentry's sentry.testutils.cases.TestCase class is defined as
class TestCase(BaseTestCase, TestCase). Name of the TestCase superclass
is first looked up in the same module, so TestCase base will
be resolved to the same class definition. Then it will be attempted to
resolve its bases once again, that leads to infinite recursion in
algorithms. Such special cases for now are explicitly prohibited
and appropriate message is logged.

Still such as aliasing seems like a bad smell though.