Changed naming to use `rpm` instead of `yum`
Introduced visitor for output generation

Added visitor to print output, no caching in list anymore

Moved document_separator to visitor

Cleaned up comments

Removed debug print

Style fixes + print function

- Imported print function
- Removed unnecessary parens from from if
- Removed unused import

Added file encoding header
Changed identation of pretty output from tab to two spaces

Fixes https://github.com/tnc-ba/swidGenerator/issues/14
Removed extra newline from `software-id` mode

Fixes https://github.com/tnc-ba/swidGenerator/issues/15
Removed visitor pattern and introduced generators

Introducing generators allows lazy generation of software-ids and SWID
tags.
Switched license to MIT

- Updated information in setup.py
- Added LICENSE.txt
- Added license information to `swid_generator/main.py` and `README.rst`

Fixes tnc-ba/strongTNC#97.
Added .coveragerc
Fixed name of program in usage output
Abstracted away generator printing

Refs tnc-ba/strongTNC#110.
Renamed swidgenerator_argumentparser module

The module `swidgenerator_argumentparser` is now simply called
`argparser`. The context is obvious at import time due to the relative
import.
Removed double newline special case
Converted OutputGenerator methods to module level functions
Optimized full SWID generation

Previously, when obtaining the list of all files per package, it was
all done in the beginning, before generating all the XML tags. Now the
files per package are fetched just before creating the XML tag, thus
speeding up the time until XML tags are outputted.
Added mocking with minimock to tests
Added exit codes

Codes are documented in README.rst

fixes https://github.com/tnc-ba/strongTNC/issues/104
Reorganized imports

- Added future imports
- Correct grouping
Moved common code from environment subclasses to CommonEnvironment

- `get_os_string` is already in CommonEnvironment and does not need to
  be redefined.
- Moved `is_file` method to CommonEnvironment.
- Converted methods of environment classes from `staticmethod` to
  `classmethod`.
- Added or corrected many docstrings.
Fixed dangerous kwarg default

Never use mutable objects as kwarg default.
Fixed many encoding-related bugs

The most important lesson to take away from this is:

 1. Always use the `unicode_literals` future import
 2. Always decode input
 3. Always use unicode internally
 4. Always encode output

There should never be a `print(value)` statement in this code without an
`.encode(DEFAULT_ENCODING)` call, unless you're sure that the value is
already a bytestring or that the value safely converts to ASCII.
Improved testing configuration, introduced Tox

- All tests are now done through Tox (http://tox.readthedocs.org/)
- Introduced Coveralls (https://coveralls.io/r/tnc-ba/swidGenerator)
- Adjusted landscape configuration