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'd suggest you make the instance fields `private` or `protected` if you don't want them to be altered from outside the class.
* `private` - Can only be seen by the class itself
* `protected` - Can be seen by the class itself and by all of its sub-classes (preferred way)