add intellij stuff, update to latest Java-WebSocket library, update WebSocketConnection to handle state changes that aren't actually changes