Added AbstractFactory, fixed some code bugs elsewhere
Changed autoloader registry mechanics so it doesn't have to throw an error