Social registration is using new swappable user when possible
There are two new settings variables.

SOCIALREGISTRATION_USER_FUNCTION which points to the new-type function. The function fills up necessary fields in the user
model and returns tuple: user, profile

SOCIALREGISTRATION_SEAMLESS_SETUP is just rename for SOCIALREGISTRATION_GENERATE_USERNAME which does not make sense if/when
the old function will be removed. Both variables are kept and used as dispatcher.

Changes are backward compatible