CORE-1932: support custom propertyProviderClass

I hereby request the following change to be merged into LiquiBase core:

- add parameter propertyProviderClass to DatabaseFactory openDatabase
  methods
- create Properties instance as propertyProviderClass, fallback to
  java.util.Properties of no propertyProviderClass is specified
- add propertyProviderClass argument to
  CommandLineUtils.createDatabaseObject methode
- add propertyProviderClass parameter to Main class of command line tool
- add propertyProviderClass parameter to Maven plugin base class
  AbstractLiquibaseMojo
- add propertyProviderClass argument to createDatabaseObject call in
  LiquibaseDatabaseDiff class of the Maven plugin

Please see https://liquibase.jira.com/browse/CORE-1932 for a rationale behind this change