Update auth

@aweiksnar This adds functionality for registration, sign-in, sign-out, and disabling an account.

Sorry for the giant PR. Chunks will get smaller as more of this gets fleshed out.