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 : Yes, he can and should put the parsing and creation of the `Class[]` array into the `reload()` method, however since he would do the same with the parsing of the Post-Processors he'd end up parsing two Strings every time the `reload()` method is called.
@gdalelio : I support to place the parsing of the Strings and the creation of the `Class[]` arrays in the `reload()` method but make it conditional:
  1. Load the String from the config file
  2. Use the `split()` method to create the `String[]` array
  3. Check if you already have a `String[]` for the pipeline stored in an instance field
     * If *not* store it in the instance field and proceed to 4.
     * If *yes*, compare the new `String[]` array to the stored instance field
         * If the two arrays are the same no changes have been made, proceed to 5.
         * If the two differ, store the new `String[]` array in the instance field (replacing the old one) and proceed to 4.
  4. Iterate over the `String[]` array and create the `Class[]`, then store it in the class
  5. Done!

Any thoughts guys?