ThisWasTheProblem - websocket_transport no longer captures this pointer

Capturing `this` pointer in task lambdas is problematic because the task may run after the object gets out of scope or is destructed. The websocket transport tasks were rewritten to not capture `this` pointer anymore. In the future in cases where we need to be able to access members of `this` we will pass it as a smart pointer.
yeah, I promise - there was a `return` inside the `try` block (at some point...) - will fix.