FileConfiguration first cut to push

The push request contains my code for the FileConfiguration, the interfaces for Configuration and the testing code set as well as the test classes built to test the configuration code.
I would agree with the moving of the reload to the constructor.  Originally, @kimba74  and I talked about having the ability to call the reload if the configuration changes and we decided to leave it in for now as it is and not worry about writing out the configuration changes.  We would be able to call the reload when the file was updated and then it would pick up the changes.  that was the reason for adding a version number.  Once we get to that we would then add a check for the latest version number to check we have the latest one - still to be worked out.

So I will move the reload to the config.

I also wondered about creating a class called loadConfig as the initial load and the reload could be refactored to that and then a reload would call the load method.  maybe too much indirection - but the method names would make more sense that way - call the load first and if needed - reload.