<!--- This environment context section helps us quickly review your PR. 
      Please take a minute to fill-out this information. -->

## Environment
**Liquibase Version**: 4.0.0

**Liquibase Integration & Version**: spring boot 2.3.2

**Liquibase Extension(s) & Version**: 

**Database Vendor & Version**: MySql 8.0.15

**Operating System Type & Version**: Ubuntu 18.04.3

## Description
Fail when try to add column with precisioned CURRENT_TIMESTAMP default value

## Steps To Reproduce
Run this changelog:

```
<databaseChangeLog
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
                      http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.0.xsd">
    <changeSet  id="10" author="vaa25">
        <createTable tableName="test" schemaName="liquibase">
            <column name="id" type="INT" autoIncrement="true">
                <constraints primaryKey="true"/>
            </column>
            <column name="created_at" type="DATETIME(3)" defaultValueDate="CURRENT_TIMESTAMP(3)">
                <constraints nullable="false"/>
            </column>
        </createTable>
    </changeSet>
</databaseChangeLog>
```

## Actual Behavior
Result of execution: 
liquibase.exception.DatabaseException: Invalid default value for 'created_at' [Failed SQL: (1067) CREATE TABLE liquibase.test (id INT AUTO_INCREMENT NOT NULL, created_at datetime(3) DEFAULT **NOW()** NOT NULL, CONSTRAINT PK_TEST PRIMARY KEY (id))]

## Expected/Desired Behavior
Apply correct sql :
CREATE TABLE liquibase.test (id INT AUTO_INCREMENT NOT NULL, created_at datetime(3) DEFAULT **NOW(3)** NOT NULL, CONSTRAINT PK_TEST PRIMARY KEY (id))

## Additional Context
 [dev.mysql.com/doc/refman/8.0/en/date-and-time-type-syntax.html](http://dev.mysql.com/doc/refman/8.0/en/date-and-time-type-syntax.html) 
`An optional fsp value in the range from 0 to 6 may be given to specify fractional seconds precision. A value of 0 signifies that there is no fractional part. If omitted, the default precision is 0`.


if (connection == null) {
            return getDefaultDatabaseProductName();
        }
        try {
            return connection.getDatabaseProductName();
        } catch (DatabaseException e) {
            throw new RuntimeException("Cannot get database name");
        }
    }
    protected abstract String getDefaultDatabaseProductName();
    @Override
    public String getDatabaseProductVersion() throws DatabaseException {
        if (connection == null) {
            return null;
        }
        try {
            return connection.getDatabaseProductVersion();
        } catch (DatabaseException e) {
            throw new DatabaseException(e);
        }
    }
    @Override
    public int getDatabaseMajorVersion() throws DatabaseException {
        if (connection == null) {
            return 999;
        }
        try {
            return connection.getDatabaseMajorVersion();
        } catch (DatabaseException e) {
            throw new DatabaseException(e);