Remove a crazy set of delegates and closures and did some refactoring.
- Refactored ForeverTransport to be more readable.
- Added several private types to ForeverTransport to store state
  to avoid closures.
- Added a state variable to receive on ITransportConnection.
- Added a state variable to Catch in TaskAsyncHelper.