Got rid of the Factory abstract

The ExportedType was superfluous because we can use arbitrary string
names for exported types.
Got rid of the Singleton pattern

Registry is no longer static, and more info is stored for each imported
factory.
Created a master registry

With tests.
Added LoadDirectory().

With tests.