Changing rpmlint test

The method comment for the rpmlint test is fine and reflects the fact
that it's a MUST to run rpmlint and paste the results into the review.
However, the implementation is done using a MUST that rpmlint is
silent. This is plain wrong. The patch fixes this.
Adding attachment mechanism

In order to keep the initial part of the report clean, an attachment
mechanism is added. Tests can submit larger pieces of text which
are displayed at the end while showing a summary message in the
initial part. Proof-of-concept for rpmlint and MD5-sum checks.
Removed the nowrap support, the attachment mechanism covers it's
actual usecases.
Only run rpmlint once, on all files.

Run rpmlint only once, with all files as argument. Creates a
shorter output easier to read, like this:

Checking: python-metapie-0.11.7-2.fc18.noarch.rpm
          python-faces-timescale-0.11.7-2.fc18.noarch.rpm
          python-faces-0.11.7-2.fc18.noarch.rpm
          python-faces-0.11.7-2.fc18.src.rpm
python-metapie.noarch: W: spelling-error Summary(en_US) wxpython -> Python, python
python-metapie.noarch: W: spelling-error %description -l en_US wxpython -> Python, python
python-metapie.noarch: E: changelog-time-in-future 2012-05-11
python-faces-timescale.noarch: E: changelog-time-in-future 2012-05-11
python-faces.noarch: E: explicit-lib-dependency python-matplotlib
python-faces.noarch: E: changelog-time-in-future 2012-05-11
python-faces.src: E: changelog-time-in-future 2012-05-11
4 packages and 0 specfiles checked; 5 errors, 2 warnings.
Adding support for prebuilt rpms.

Adds the --prebuilt/-p option which picks up prebuilt rpms in
current directory instead of building them in mock. Speeds up
and walks around problems with yet-not-existing dependencies
Obviously not as reliable. Useful when developing f-r.
Unpack using rpm2cpio instead of rpm -i

Using rpm -i to install the srpm is to invasive. It stores
things in user's rpmbuild tree, and even has an option to
wipe it. For users without personal rpmbuild environment, this
might end up trying to write to system's rpmbuild tree.

This patch uses rpm2cpio to unpack the srpm to a local directory
instead.
Use rpmdev-extract instead of tar.

In order to support all formats understood by rpm, rpmdev-extract
is the tool to use.
Make a diff -r  on md5-sum mismatch.

Closes issue #9
Refactor settings.

Make Settings a singleton, and store both config file and
command line options here. Remove options passed between
various objects.
Support lzma (.xz) source files.
Run unpack on all files.

rpmdev-extract handles all files rpmbuild can handle. There is
no point looking at the extension.
Adding support for automatic install test

Runs test using 'mock install' on the generated rpms.
Use sources after %prep

Use source tree under BUILD instead of original sources when checking
license.
Create requires/provides attachments

Create an overview using rpm -q --provides/--requires., like this:

Requires
--------
python-faces-timescale-0.11.7-2.fc18.noarch.rpm:
    python(abi) = 2.7
    python-faces = 0.11.7-2.fc18

python-faces-0.11.7-2.fc18.noarch.rpm:
    python(abi) = 2.7
    python-cheetah
    python-matplotlib
    python-matplotlib-wx
    python-metapie = 0.11.7-2.fc18

python-metapie-0.11.7-2.fc18.noarch.rpm:
    python(abi) = 2.7

Provides
--------
python-faces-timescale-0.11.7-2.fc18.noarch.rpm:
    python-faces-timescale = 0.11.7-2.fc18

python-faces-0.11.7-2.fc18.noarch.rpm:
    python-faces = 0.11.7-2.fc18

python-metapie-0.11.7-2.fc18.noarch.rpm:
    python-metapie = 0.11.7-2.fc18
Run rpmlint on installed package.

Also fixes bugs in dependency attachments