Added gcm-client package for GCM interaction
Implemented notify (send push notification) for GCM

Bit of work done on error handling
Allow each provider to error independently

- This might be worth keeping an eye on, as we may send notifications to
  all devices on one provider whilst one completely fails?
Added tasks for issuing retries from GCM
Place task on queue if the initial push has some failures
Renamed the number of retries to retry_count

Distinct from the retry message.

Also added a log message