Updating tests: streamlining, remove work_dir, new sources test

Updating tests to new implementations

Streamline to allow standard invocations such as
python -m unittest test-misc.TestMisc.test_sources

Remove work dir, set-work_dir references; other source updates.

Add new sources test exercising the Sources() class
Refactor md5sum

Only return the sum, raise exceptions on error (cuurently returned
error codes are not handled properly).
Updating: no work_dir, clean-up and  refactoring.

Remove the work_dir, set_work_dir etc; they are not really consistent.
Use tree structure in current dir instead, defined by ReviewDirs

Refactor the ChecksLister class, avoiding  None parameters to Check()
causing troubles.

Remove Mock (silly) dependency on Settings.

Refactor Source() and Sources() to make setup work at __init__,
simplifying usage and test code.

Move command line parse code from ReviewHelper to Settings(),
fewer dependencies, easier to test.

Make check's default run() usable, simplifying usage. Fix bug allowing
two identical tests to be loaded.
Adding support for FR_LOGLEVEL

FR_LOGLEVEL sets the loglevel, unless defined as -v on command line.
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.

Remove use of requests class, there are problems with some compressed
files being expanded on download. Use urllib instead, as elsewhere in f-r.
Modify logging, bugfixes

Use a logfile with level DEBUG always. 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
Use sources after %prep

Use source tree under BUILD instead of original sources when checking
license.
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
ew 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
Bugfixes: handle build errors better, handle broken symlinks

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.

mock --rebuild --no-cleanup-after leaves broken symlinks in build
directory which needs to be deleted.
Bugfixes: no-archive sources, fix provides/requires list
Updating test-bugzilla
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.