* 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
* Cancel all channels when first exception happens then throw that exception
* Use single exception to end things.
* fix verifications
* fmt
* Fix tests as stacktrace was removed
* Handle one exception and cancel on receive
* moved ThrowIfFailed and made throw speckle exceptions
* Fixed tests
* fmt
* Don't log cancelling
* redo exception handling for receive
* remove null test case
* clean up with Id/Json and more cancels
* Change the exception stacks
* fix serialization test
* make a custom scrubber for internalized exceptions
* clean up
* fix namespaces again :(
* adjust the scrubber
* try to make tests more predictable
* rework exceptions again
* strip out compile files used
* formatting
* custom exception validation
* fix init
* Move serialization to own class
* save serialize test
* add deep clean
* add cancellation test on save to cache
* cancellation tests
* format
* do DI correctly
* receive cancel works
* Add exception handling for SerializeProcess with CancellationTokenSource
* formatting
* add exception test to make sure we handle a server exception
* add extra exception and handling to stop
* add comment and another test
* one last chance for user to cancel
* formatting