Updated to Cordova 2.7, fixed a number of bugs. Cleaned up some code.

* Put all the plugin code in the plugin namespace: com.plugin.gcm;
* Renamed to namespace GCM to gcm, namespaces should be lower case
according to the java style guidelines;
* Deleted the google gcm code and added gcm.jar instead;
* Added CordovaGCMBroadcastReceiver.java to enable GCMIntentService to
be namespaced in the plugin namespace instead of the client project
(which is is the default with google's GCMIntentService);
* Moved all java <--> javascript interop to PushPlugin;
* Moved all notification code to GCMIntentService (maybe this fits
better in its own class);
* Changed the way the plugin detects cold starts in order for it not to
crash when the back button is used to navigate out of the app;
* Changed the caching on the filesystem to a memory cache on a static
variable, which increases performance and simplifies code;
* Cut up some code into separate methods ;
* Added code comments;
* Updated the readme file.