Require the WebSocket Transport make an /abort request to abort

- Avoids timeouts being mistakenly registered as aborts
- Unifies abort logic for all transports

#2195 #1231