(#961) - api.changes: return promise

Return promise with a `cancel` method when calling the changes api
* while it uses the `taskqueue`
* with `{ since: 'latest' }`