Merge pull request #108 from unihorn/15

feat(watch): add cancelable watch
refactor: Expose generating RawRequest objects as an API