Move GCM registration into separate library module

The goal is the same GCM registration library could someday be used
across multiple applications instead of being copy/pasted into each
app.

Signed-off-by: Greg Meiste <greg.meiste@gmail.com>