Make all Individual name fields configurable

Adding a third block to the 'contact_edit_options' setting, to allow
controlling which of the various name fields (prefix, formal title,
first name, middle name, last name, suffix) show up on the contact edit
forms. (Both main form and quick edit of the contact name.)

For now, the name fields can only be enabled or disabled; there is no
support for changing the order in which they appear on the edit forms.
While this could be handled trivially in the configuration UI (the code
is already there for the other parts of 'contact_edit_options'), it
would require a major change to how the actual name edit forms are
constructed -- and I'm not even sure there is an actual use case for
that...

Note: This change doesn't affect the Display Name -- that one is still
configured using the token-based template.

Also, it doesn't affect all the other places where name fields are used
(soft credits, honoree, billing contacts etc.): there are way too many
of them, each implemented separately (and inconsistently). Again, the
way forward seems to be centralising all name field handling in a common
piece of code, and invoking that in all places dealing with Individual
name fields...

After merging this, sql/civicrm_generated.sql needs to be regenerated,
to pick up the new option values and default setting.