Allow configuration of Shibboleth attributes in a priority list

The following fields are configurable:
 * Display name
 * Email
 * Locale

Not all institutions use the same attribute to convey the above information. For example, some institutions use `eppn` for their email addresses, others use `email`. In order to spin up new tenants more easily, we should allow these values to be retrieved from a configurable priority list (with validation for email, prior to creating a user).
I wonder if something like this is more readable:

```
var attribute = _.find(priorityList, function(attribute)) {
  return headers[attribute] && headers[attribute] !== defaultValue;
});

var value = headers[attribute] || defaultValue;
```