The following liquibase changeset does not work as expected

```xml
        <createTable tableName="test">
            <column name="id" type="SERIAL">
                <constraints nullable="false" primaryKey="true"/>
            </column>
        </createTable>
```

This changeset results in sql

```sql
CREATE TABLE test (id INTEGER NOT NULL, CONSTRAINT TEST_PKEY PRIMARY KEY (id));
```

In liquibase 3.6.3 and earlier the type `SERIAL` was used for the column which means that a sequence is automatically included.

This issue seems to be caused by #874
It appears that SERIAL columns are replaced by INT, however liquibase does reconize that this column type is an auto increment column.

It would be acceptible if the generated sql would be

```sql
CREATE TABLE test (id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL, CONSTRAINT TEST_PKEY PRIMARY KEY (id));
```


package liquibase.datatype.core;
import liquibase.change.core.LoadDataChange;
import liquibase.database.Database;
import liquibase.database.core.MSSQLDatabase;
import liquibase.database.core.OracleDatabase;
import liquibase.datatype.DatabaseDataType;
import liquibase.datatype.LiquibaseDataType;
import liquibase.statement.DatabaseFunction;
import java.util.Arrays;
import java.util.Locale;
/**
 * Container for a data type that is not covered by any implementation in {@link liquibase.datatype.core}. Most often,
 * this class is used when a DBMS-specific data type is given of which Liquibase does not know anything about yet.
 */
public class UnknownType extends LiquibaseDataType {
    private boolean autoIncrement;
    public UnknownType() {
        super("UNKNOWN", 0, 2);
    }
    public UnknownType(String name) {
        super(name, 0, 2);
    }
    public UnknownType(String name, int minParameters, int maxParameters) {
        super(name, minParameters, maxParameters);
    }
    public boolean isAutoIncrement() {
        return autoIncrement;
    }
    public void setAutoIncrement(boolean autoIncrement) {
        this.autoIncrement = autoIncrement;