Fix unhandled exeception for load_configuration
Refactor config system

The configuration setup has been moved from app.init() to config.init().
config.init() includes argument parsing and verification.
Add pkgcache to test_project_1 config.yaml
tests/util.py: Refactor to pytest fixtures
Rename tests/util.py to tests/test_fixtures.py
Rename test_fixtures.py to conftest.py
Refactor configuration tests

* Test fixtures are now used to setup configuration properties.
* Refactor test_config.py
* Cleaned config.init up a bit, removing old statements.
* config.init() now returns a ConfigDict object instead of setting apc.conf.
* The load_configuration functions now return objects instead of setting
  apc.conf directly.
* added constants.py for constant values.