Error handling and task queue fixes

TaskQueue now properly counts its size if max is not set.
Add OnReceiveError override for websocketconnection.
Expose the WebSocket property.