Cleaning up config system, and new refactor.

* Made wrap a per plugin failing operation.
* Cleaned up a bunch of bugs in the core and language packages.
* Changed config merge order to default -> system -> user -> command
* Added a DefaultConfig object.
* Added a MergedConfig object.
* Made core library a bit more robust.