Use the first name as preferred name when the display name is empty
Use the first name as preferred name when the display name is empty

In the database, the display name might be empty. Use the first name to
avoid a Django validation error:

django.core.exceptions.ValidationError: {'preferred_name': [u'Ce champ ne peut pas \xeatre vide.']}

For some external accounts, the first name is empty but the display name
contains a first name. In such case, use the display name as the first
name.

Polytechnique-org/xorgauth,Polytechnique-org/xorgauth