Fixed bug in way extensions were being loaded.  Loading two extensions in a row resulted in polution from the previous extension.  For example, if ext-A had a 'configure' method and ext-B did not.  Loading ext-A then ext-B would result in ext-B having the 'configure' method from ext-A.  Loading now uses __import__ and does not exhibit this behavior.  The downside is that extensions now need to have a __init__.py file.
Modified Register.done() to call 'configure' method on extensions.  Added test coverage to validate this is working.
Modified load_extension method to add an empty __init__.py file if one is not present.