* First pass of ObjectSaver and better in-memory usage
* fix some tests
* add commit to match deserialize process
* correct more tests
* format
* make a deserialize factory
* fix tests? and format
* use distinct
* Fix mismerge
* Fix serialization issues with tests
* fix merges
* follow copilot suggestions
* remove disables
* change registration to take strings and TypeLoader isn't public
* remove unused transports
* more test fixes
* fmt
* add Application object back
* First pass of ObjectSaver and better in-memory usage
* fix some tests
* add commit to match deserialize process
* correct more tests
* format
* make a deserialize factory
* fix tests? and format
* use distinct
* Fix mismerge
* Fix serialization issues with tests
* fix merges
* follow copilot suggestions
* remove disables
* 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
* maybe all objects need to be false
* fmt
* remove extra code form hosts
* fix build
* add speckle serializer exception test
* add DownloadObjects and DownloadSingleObject test
* fmt
* add HasObjects test
* BaseItem tests
* adjust code and add test for UploadObjects
* Remove try/catch
* can't test compressed? use lib to parse multipart
* remove unused verify snapshots
* 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
* Batches size now affects sending size accurately. Use extensions to help test this
* format
* add more and use extensions
* Rework to make things clear
* Serialize now waits for the scheduler to be completed before returning
* formatting
* wait in deserialize too
* Pass cancellation token to download, refactor how things are passed/created
* responses are now streamed and cancel them earlier
* format
* add manual empty message for sending that definitely knows when the channels are empty
* Fix configure awaits
* more configure await false
* add ability for objectloader to skip server too. add test so both cache and server can't be skipped
* move testing project to correct dir
* remove extra file
* 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