Replace Configuration and add configuration file system

We need a good configuration system that can read from files in addition to being configured via the command line.