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.
Evertime the getPreProcessor() is called it recreates the class  array. Suggest moving this section of code to the reload function and modify the datatype of **preProcessors** to Class[] which can simply be returned from here