(#1982) - test changes promise resolved when changes cancelled

When changes is cancelled the promise returned by changes should be resolved. I'm not sure whether it should be fulfilled or rejected, but it should be resolved. Here is a test to check that this happens and, at least for node/leveldb, it is currently not happening.