Support YAML and multiple config file sources

* Added support for YAML
* Separated source loading into its own module.
* Adding support for multiple config file sources.