Add email aliases for users

This is the initial work for adding email aliases.

Email aliases are used to associate commits with users. The emails are not verified and don't have to be valid email addresses. They are assigned on a first come, first serve basis.

This is not complete. Tests still need to be added, but I wanted to get this out to get some feedback before I implemented the tests.

This addresses