* refactor error handling to no propagate through channels. Use cancellation to shut down on exception
* don't try to shutdown scheduler when exception happens...handle tokens in a tree
* some cleanup
* ConfigureAwait(false) again
* Add test and clean up exception handling
* fmt
* fixed tests