More consistent imports in main.py
Separated environment exceptions into separate module
Instantiate environment class on registration

We should work with environment instances instead of using static
classes, in order to be able to retain state. This might be needed when
passing data to the environment on initialization.

We currently don't use that functionality, so this change could be
considered speculative generality, but I'd rather argue that static
classes are rather uncommon in Python code, making the current
situation a case of an oddball solution.
Renamed `get_list` to `get_package_list`
Converted `is_file` and `package_installed` to private methods

The functions are helper functions and should not be part of the public
contract.
More docstrings
Switched repository URL from tnc-ba to strongswan
Added --version / -v option to argparser