Infer JDBC driver class name from jdbc url

Fix for #809. Added enhancement: guessing JDBC driver class name from JDBC url. Supported database list is taken from (Flyway's DriverDataSource)[https://github.com/flyway/flyway/blob/master/flyway-core/src/main/java/org/flywaydb/core/internal/util/jdbc/DriverDataSource.java#L124]. 

If property ```spring.datasource.driverClassName``` is not defined, it tries to find correct driver class name based on JDBC url. If ```spring.datasource.driverClassName``` is defined, behaviour does not change.

I am thinking if it wouldn't be better if ```DriverClassNameProvider``` is a private class of ```AbstractDataSourceConfiguration```.
It would be even nicer enhancement if it would be extended for guessing Hibernate dialect. Then I think it the best if ```DriverClassNameProvider``` changes it's from to enumeration similar to ```EmbeddedDatabaseConnection```.

I am looking forward to hearing your opinions.