414652 - WebSocket's sendMessage() may hang on congested connections.

Fixed by using Locks instead of the synchronized keyword, and by using tryLock()
in flushBuffer() and flush(), that are called by WebSocketConnection.handle().

It is quite a hack, but the real fix is in Jetty 9 where the architecture is different
and there are two different paths for reading and writing, so that this problem
could not even happen.
Merged branch 'jetty-7' into 'jetty-8'.
Merged branch 'jetty-8' into 'master'.
Merged branch 'master' into 'jetty-9.1'.