Updated configuration loading

* The ConfigurationPropertiesLoader now first checks if there is a
system property defining the custom properties file before searching it
in the classpath
* It is now possible to define a custom PropertiesLoader using a system
property
* New unit tests
* Exception handling refactored
* Cleaned code
* Added comments
*Linked with dandelion/issues#113