Spreadsheet authorization

This does a few things:

* Verify, on login, that a user has access to view the site through a Google Spreadsheet
* On creating a new account, use the name from a Google Spreadsheet
* Refactor tests to reflect all the above
* Improve error message when login fails
You got it! I semi-intentionally chose administrator (though we need to be clear about the language) with the aim of having code that's timeless / doesn't need to be updated if there's a staff change.