small issue with AwaitObservable

Hi,
I had a problem with AwaitObservable: if the resulting workflow gets cancelled the subscribtion to the IObservable stays untouched, possible resulting in a minor memory-leak (did not test this - maybe GC will collect it but I cannot see how)
Anyway this pullrequest contains some small changes that will dispose the subscription on cancellation.
I got some unit-tests-cases for this as well - if you are interested I can give you those as well, but since you did not include tests I don't for now.

Anyway: thank your for the insights and tools :D