Don't mess with `_before_type_cast` for numeric types
Merge pull request #15550 from sgrif/sg-numeric-types

Don't mess with `_before_type_cast` for numeric types
Revert "Merge pull request #15550 from sgrif/sg-numeric-types"

This reverts commit be1db9946616a4005bb7be45656cc0f84d75d915, reversing
changes made to 6680ee9427ae2639e404cd3b9538f54e136057c6.

Reason: This changed a behavior where numeric attributes when receiving
blank values didn't change its value.
eliminate wasteful AS::SafeBuffer allocation
remove another wasteful AS::SafeBuffer allocation
Don't mess with `_before_type_cast` for numeric types
Remove composed_of special case from multi-parameter attributes

As we move towards removing the `klass` method from `column`, the else
clause as it stands right now will become the only case.
Merge pull request #15551 from sgrif/sg-numeric-types

Don't mess with `_before_type_cast` for numeric types
Merge pull request #15552 from sgrif/sg-remove-klass-special-case

Remove composed_of special case from multi-parameter attributes
eliminate more wasteful allocations
Removed unused `klass` definitions from types

Only `Date` and `Time` are handled.