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

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