Add support for MySQL columns charset and collation options.

MySQL is possible to specify charset and collation in each column.

This is useful to for a case-sensitive search or specify charset `ascii` to secret_token column.

Index size of string column depends on maxlen of that charset. In the case of strict_mode, it can be in error INSERT of characters that are not included in that charset.

Why do we set these only if they differ from the table default charset and collation? If the table's defaults are changed, then the column's charset and collation would be wrong.