feat($cordovaGeolocation): watchPosition promise

this is a much better API and similar to <code>$http</code> mutating their promise 
https://github.com/angular/angular.js/blob/b3dfb3835923c9a941f63aa8f709760fd087962a/src/ng/http.js#L796
```javascript
var watch_geo = $cordovaGeolocation.watchPosition();

watch_geo.then(angular.noop, failFunc, function(location) {
  console.log(location);
  sendBeacon(location);
});

watch_geo.cancel();
// or
watch_geo.clearWatch();
```

(The docs also need to be changed. I'm editing this PR github but I can update it in a bit)