Commit() outputs newly added keys in config source instead of throwing exception

parent #90 
Let's discuss again next week. I'm still a fan of:
1. Throw by default if the config file has changed underneath us
2. Perhaps add an overload called `Commit(bool overwrite)` if the developer "knows what they're doing"