Create bare minimal interface for the new SettingsProvider System.
Create property interfaces.
Create base interface for SettingsProvider.
Add missing license headers.
Fix checkstyle errors due to checkstyle bug.

Solution was to upgrade checkstyle in gradle.
Patch malicious code vulnerability detected by findbugs.

I never knew that raw arrays could be modified when just returning the array object.
Removed deepClear function.
Added Collection based join method in StringUtil
Created MultiMap object along with its own test cases.
Merge branch 'feature/configA2' into develop