COMETD-512 WebSocketTransport should close the connection when expiring.

When a message expires due to maxNetworkDelay, the connection
is now closed with message 'Expired'.
COMETD-513 - Client-side half-closed connections should discard server messages.

The implementation now uses a different WebSocket endpoint per
connection, so that an old endpoint can detect whether it should
discard messages (because they belong to a closed connection).
Removed messageId parameter from ServerSession.deliver(),
in line with what already done for ServerChannel.publish().
Modified signature of service methods invoked by AbstractService
to be in line with what done when using annotations.
COMETD-511 - Ack extension may lose messages.

Fixed race in the new implementation, where a thread could read
the wrong batch number and send it in the /meta/connect response.
Merged branch '2.8.x' into 'master'.