Selectively require/hide registration fields & add country/city fields

Extend 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'.

Rename the configuration variable to REGISTRATION_EXTRA_FIELDS to reflect
the additional capabilities, and updates the defaults.

As extra fields, configurable through the REGISTRATION_EXTRA_FIELDS
variable. Hidden by default.

Tickets: MCKIN-168 MCKIN-184

Note: Studio also has a registration page, which uses the same account
creation page. It should be possible to use it without requiring the
variable from the LMS, as the fields are different.