Unregister devices on server side error & update user object when the GCM assigned registration id changes.

* Fixes the issue of user getting multiple notifications due to more than one valid registration id in his user object for the same device.
indent issues, otherwise fine. Please fix this.