Refactored InvalidError handling into a serializer concern.

Refactored ``InvalidError`` handling into a serializer concern.

Addresses #1977 by ensuring error keys undergo the same mapping treatment that model attribute and relationship keys do.

Supports #1984 and #1877 by moving the model error serialization concern into the serializer. This PR should remove any objections for not applying all errors which have been sanctioned by the serializer to the record/model errors.

Paves the way for embedded record error handling, with the intent that errors can be mapped/normalized for the specific embedded records to which they apply.
Can we return a hash from here. Seems more natural to return something from a normalize hook.