[DBAL-44] Fix column default value lifecycle

This is an approach to make the "lifecycle" of a column's default value more consistent and less error prone. It also fixes some platform implementations, especially when a column's default value has to be dropped (which requires an explicit drop clause on some vendors).
This implementation implies a default value of `null` as no default value set. All other values get evaluated as a default value.