Registration extra fields: Selectively require/hide registration fields & add optional country/city fields

[chrisndodge edit: this is due 1/30 for sprint commitment]

Extends the capabilities of the REGISTRATION_OPTIONAL_FIELDS configuration variable, to allow to select, for each individual field, if it should be 'hidden', 'optional' or 'required'. Renames the configuration variable to REGISTRATION_EXTRA_FIELDS to reflect the additional capabilities, and updates the defaults.

Also adds country/city to registration & UserProfile as extra fields, configurable through the REGISTRATION_EXTRA_FIELDS variable. Hidden by default.

Tickets: MCKIN-168, MCKIN-184

[chrisndodge EDIT]: This is related to current work sprint for Solutions. Any reviewer can reach out to me if you need more context.