Alikins/unittest mock cleanup

Lot of stuff in here, but the main idea is trying to cleanup unit tests so they don't try to read /etc/pki, /etc/rhsm, or /etc/sysconfig/rhn. 

That mostly consists of adding a TestConfig class we create in the test fixture setup. That TestConfig points the base of the cert dirs to a temp dir. Many changes were required to get eveything to actually use that new TestConfig, mostly related to *Directory classes using static class variables for there path name, and many things reading config values at module/class scope, making it hard to mock.