remove stack trace tweaks

WIP DO NOT MERGE

* [x] Add acceptance tests for the various combinations of Handler, MessageModule and UOW exceptions
  * [x] Verify root exception type
  * [x] Verify exceptions types when it is an `AggregateException` when multiple occur
  * [x] Verify stack traces are not corrupted
* [x] Add acceptance tests for `SerializationExcepition`
  * [x] Verify stack trace is not corrupted
* [x] Extract out common code from `ManageMessageFailuresWithoutSlr.SetExceptionHeaders` and `FaultManager.SetExceptionHeaders` to a helper method
* [x] Remove StackTracePreserver
* [x] Remove `Try Ctach` from `BehaviorChain.Invoke`. no longer needed with `AggregateException` approach
* [x] Obsolete and remove usages of `TransportMessageHandlingFailedException`. this will remove the need for double handling of both `AggregateException` and `TransportMessageHandlingFailedException`
* [x] Make sure to log an error if errors a thrown in OnFailedMessageProcessing