Completely redesigned the way config files are done.
Now each entity has it's own default config values, that can be extended into the config file.
Configs are also classes now handled by the autoloader.
Also, configs, once cached, are just arrays. calling core::config() will return an array with all config values, no longer an object.
Also tweaked the error handler, which was having trouble with require() and catching exceptions when it fails.
Autoloader is now using include() instead of require, it's slightly faster and the exceptions it throws are catchable, which for some reason isn't the case with require(), I'm still not sure why that is. (the global exception handler function doesn't catch autoloaded files with require() that fail).