This catches a bug in `sql.BuildDMLInsertQuery` where we are using the target
column's Charset to drive the value conversion. In the case where we are
altering the charset, the Charset used for conversion will be different than
the original column's charset, resulting in an erroneous conversion.
- Identifying textual characters sets; converting into specific type when applying dml events
- Refactored `ColumnsList`: introducing `Column` type
- Refactored `unsigned` handling, as part of `Column`
- `Column` type supports `convertArg()`: converting value of argument according to column data type
- DB URI attempts `utf8mb4,utf8,latin1` charsets in that order (first one to be recognized wins)
- Local tests filter by pattern
- Local tests append table schema on failure
- Local tests do not have postpone flag file
- Added character set local tests: `utf8`, `utf8mb4`, `latin1`