Custom user model finalization

Hi, since there usually is not any `username` field  in the custom user model, I propose an update for `GENERATE_USERNAME_FUNCTION` as described in commits. The change is backward compatible and can save some headaches.

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.