Okay after reading the docs again, I answered number 2 (well google
answered it).
"The registration ID lasts until the application explicitly
unregisters itself, or until Google refreshes the registration ID for
your application."
So I just need to make sure every time google sends me a register
intent I update my registration_id, and if it is different than it was
before, I need to send it to the server.
Also I guess number 1 is pretty easy, if I get an error sending the
push to google (401 error) than I need to re-register and get a new
client auth token.