Introduce new `formal_title` field for contacts
For Individual contacts, add a Title field along with the other name
fields. This one sits between the Individual Prefix and First Name
fields, which is the right place for academic and other formal titles
(not only) in Germany.
It is a free-form text field, as there are way too many obscure titles
and possible combinations of titles for any kind of exhaustive option
list. Also, this field is generally not processed, but rather just
included verbatim wherever the name is used -- so there is no real need
for normalisation.
Note: The field is conditional in the templates, but it's added
unconditionally at PHP level in this commit. That's because we don't
know yet how to handle the configuration best. A followup commit
implements one possible variant for the configuration.
In the actual input form, the field is labled with just 'Title', as it
should be clear enough in this context that it's about a formal title;
and a shorter name seems more convenient... However, we are wondering
whether this doesn't introduce additional confusion?
This commit is mostly only covering the main contact screen. (And some
other generic bits, such as exportable fields etc.) There are various
other places dealing with name fields (especially for billing contacts
and honoree) -- each one implementing it individually (and thus rather
inconsistently...) in a hard-coded fashion. Adapting all of these will
be a crazy amount of work, so we are punting this for now...
(The Right Thing To Do (TM) probably would be implementing some central
name handling code to use everywhere.)
With this commit, the definition of the existing `prefix` field is also
slightly changed regarding the import heuristics, to reflect the fact
that titles are no longer supposed to be stored in the `prefix` field.