Test the serialized types of virtual columns in XML

The previous tests were passing, because nothing ever looked at the
generated XML. What was previously being generated was
`<firstname type="NilClass">...`, which is not consistent with all other
cases where there is not a known type.
Refactor XML serializer to not depend on `serialized_attributes`
Add default_i18n_subject to the guides

[ci skip]
Pluralize params
Collapse PG default extractoin of most types to single regex

For any type that is represented as a string and then type cast, we do
not need separate regular expressions for the various types. No function
will match this regex. User defined types *should* match this, so that
the type object can decide what to do with the value.
Merge pull request #15463 from geopet/refactor_xml_compute_type

Refactor XML serializer to not depend on `serialized_attributes`
Correct result, previously showing wrong result
Merge pull request #15505 from akshay-vishnoi/doc_changes

Correct result, previously showing wrong result
Merge pull request #15495 from maurogeorge/action-mailer-subject-guides

Add default_i18n_subject to the guides
Merge pull request #15504 from sgrif/sg-postgres-defaults

Collapse PG default extractoin of most types to single regex