notifications: added unregisterDevice to NotificationManager
notifications: synchronized NotificationManager

Might not be the most efficient way ... time will tell is this is a time
critical component.
notifications: added garbage collection framework
notifications: inject client to garbage collector mapper
test: added GarbageCollectorManagerTest
notifications: added GcmUtils for handling gcm sending
notifications: inject GcmUtils in GcmSender
notifications: added GcmSenderTest
notifications: more coverage in GcmSenderTest
notifications: implemented GcmGarbageCollector