registration-extra-fields: Selectively require/hide registration 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.

Ticket: MCKIN-168
registration-extra-fields: Add country/city to registration & UserProfile

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

Ticket: MCKIN-184
registration-extra-fields: Don't require setting variable from CMS

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. Fixes failing tests.
registration-extra-fields: Add tests for registration extra vars conf