Handle errors in GCM responses

Delete devices from the database if the appropriate errors are returned.
If "error" is different than "Unavailable", delete the device.
    
This is according to:
http://developer.android.com/google/gcm/http.html

This can be very dangerous. We should explicit define error list for which we want do something.