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.
Also, I noticed that`versionNumber` and `hiveName` are stored in a local variable, suggest making them instance fields as the other configuration values (e.g. `preProcessors`).