Refactor __init__.py

At 1200 lines and growing, the __init__.py file is too large. The dependency
list is also huge. Splitting it into more manageable units, basically one
class per file. Normalizing filenames to lower_case.
Modify logging, bugfixes

Use a logfile with level DEBUG always. lot's of fixes related to
remains of the workdir/work_dir stuffModify logging, bugfixes

Always use a logfile with level DEBUG. Lot's of fixes related to
remains of the workdir/work_dir stuff..

Manpage update, lost in git hyperspace
Create a new directory for review

Make all bugs work like -b always did, creating a new directory
for the review. -b directories are now named <bug nr>-<name>
like 882123-python-faces, closing ticket #37

Bugfix for exception when running -h/--help (!)
Support getting spec file from srpm.

Support --rpm-spec/-r flag which uses just a local srpm, unpacking it
to get the spec file. Closes ticket #32
Adapting php test for new module interface, fixing interface.

Updating existing tests to module interface
New tests: diff -r when checking md5sum. Bugfixes.
Bugfixes, --url and -n option
Bugfixes: mock root handling, rpmlint check fixes

Build failed on X86_64, fixed.
Rpmlint on --prebuilt problems fixed
Naming Guideliens complete mess (bad output), fixed
Problem with mock_config /mock root, fixed
bugfix srpmlint install
Bugfix: pattern mathing in abstract_bug
Bugfix: handle build errors better

Old code did not detect build errors, the shell pipe returns
code from last component i . e., grep which always is 0.
subcommand is not usable here, mock displays it output in  a
new shell and is not in Popen.stdout. So: dig for error
messages in build.log to understand what happened.
Bugfix: handle broken symlinks left by mock.

mock --rebuild --no-cleanup-after leaves broken symlinks in build
directory which need to be deleted.
Bugfixes: no-archive sources, fix provides/requires list
Updating test-bugzilla
Don't remove existing review directory

Let the user decide what to do with an existing dir instead of just
removing it.
Introducing EXTRA test type

With the strong emphasis on guidelines, there is still need for some tests
which are just common sense, but not specified. Examples here: that
the spec in the URL matches the spec in the srpm, and running rpmlint
on installed package. The motivations are different, but it boils
down to the a new category.

I would prefer a name which was sorted after 'SHOULD', but me English
is too bad :(
New 'try-fedora-review' script, options update, manpage update.

New try-fedora-review script, to be able to run a test version
in parallell with a system one·

-h option is a mode, not a general option.
New check: Spec file as in SRPM

Check that the spec file as provided through the URL is the same
as in the srpm file.
Make RCheckDoc postpone build until run()

RCheckdoc triggers a build during __init__, which delays the overall
load. A more reasonable approach is to first load all chek modules
and then make build, install and other tests. This patch fixes
this.
Cleaning up the output.

Removing primnt statements, using log.* instead. Dump stacktraces
on various errors. Make the FR_LOGLEVEL more consistent,
setting it to 'debug' is effectively the same as the '-v'
option.

Using FR_LOGLEVEL=warning, tests now run with nice output.