Most of the registration code was taken and adapted to
updating a user. A small amount of rust refinement was added to
make the code a bit more readable.
Updates the user's public signing key, password (registration_bundle),
and will issue a new access token.
Part of https://linear.app/comm/issue/ENG-2763
Depends on D6925