Made GCM Client more friendly

Refactored/Renamed some things to make the GCM Client (PushClient for
Mono for Android) easier to implement and understand, using some new
features in Mono for Android (such as the [Permission] and
[UsesPermission] attributes)...