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.
@deevallabh the `DefaultConfigurator` was/is meant for being used by the `Hive` later on if no 'Configurator' was set by the user. But I agree, as long as we don't use it we should remove it to keep the codebase small and simple.