This is the configuration and command line arguments manager. It is responsible for interpreting the config file, and modifying it according to what command line arguments have been supplied.