When creating the alternate session failed during a run, the wrong error was
being returned to the caller.
To simplify this logic, don't check the alternate session's error field here,
and just return the alternate session (itself implementing the error type) to
the caller (pairSessions, who calls run).
While here, some additional details are included in the wrapped error returned
when receiving KEs, which will aid in future debugging.
When creating the alternate session failed during a run, the wrong error was being returned to the caller.
To simplify this logic, don't check the alternate session's error field here, and just return the alternate session (itself implementing the error type) to the caller (pairSessions, who calls run).
While here, some additional details are included in the wrapped error returned when receiving KEs, which will aid in future debugging.