Extensive refactoring of passing of exceptions between endpoints and active events in order to differentiate between network and application exceptions. Removed exception-specific methods in favor of general exception-passing methods where we also provide the exception/error as an argument. This allows us to pass network exceptions back to partners over the network and raise them accordingly.