Allow easy filtering of exceptions in HubPipelineModules

#1882
Cleanup based on code review

- Simplified ExeptionContext
- Removed constructor with innerException from HubException
- Preserve stack trace for unchanged exception from OnIncomingError
- Made new functional tests async

#1882