Removed extra root directory.
Make last times volatile.
2.21
Create README.md
Update README.md
Update README.md
Update README.md
Fixed unit test.
Added keep alive checks between servicing each key.
Merge remote-tracking branch 'upstream/master' into maven

Conflicts:
	.gitignore
	build/junit-4.6.jar
	build/kryo-2.20.jar
	build/minlog-none-1.2.jar
	examples/com/esotericsoftware/kryonet/examples/chat/ChatClient.java
	examples/com/esotericsoftware/kryonet/examples/chat/ChatServer.java
	examples/com/esotericsoftware/kryonet/examples/chat/Network.java
	examples/com/esotericsoftware/kryonet/examples/chatrmi/ChatRmiClient.java
	examples/com/esotericsoftware/kryonet/examples/chatrmi/ChatRmiServer.java
	examples/com/esotericsoftware/kryonet/examples/chatrmi/IChatFrame.java
	examples/com/esotericsoftware/kryonet/examples/chatrmi/IPlayer.java
	examples/com/esotericsoftware/kryonet/examples/chatrmi/Network.java
	examples/com/esotericsoftware/kryonet/examples/position/Character.java
	examples/com/esotericsoftware/kryonet/examples/position/Network.java
	examples/com/esotericsoftware/kryonet/examples/position/PositionClient.java
	examples/com/esotericsoftware/kryonet/examples/position/PositionServer.java
	kryonet/examples/com/esotericsoftware/kryonet/examples/chat/ChatClient.java
	kryonet/examples/com/esotericsoftware/kryonet/examples/chat/ChatServer.java
	kryonet/examples/com/esotericsoftware/kryonet/examples/chat/Network.java
	kryonet/examples/com/esotericsoftware/kryonet/examples/chatrmi/ChatRmiClient.java
	kryonet/examples/com/esotericsoftware/kryonet/examples/chatrmi/ChatRmiServer.java
	kryonet/examples/com/esotericsoftware/kryonet/examples/chatrmi/IChatFrame.java
	kryonet/examples/com/esotericsoftware/kryonet/examples/chatrmi/IPlayer.java
	kryonet/examples/com/esotericsoftware/kryonet/examples/chatrmi/Network.java
	kryonet/examples/com/esotericsoftware/kryonet/examples/position/Character.java
	kryonet/examples/com/esotericsoftware/kryonet/examples/position/Network.java
	kryonet/examples/com/esotericsoftware/kryonet/examples/position/PositionClient.java
	kryonet/examples/com/esotericsoftware/kryonet/examples/position/PositionServer.java
	kryonet/src/com/esotericsoftware/kryonet/Client.java
	kryonet/src/com/esotericsoftware/kryonet/Connection.java
	kryonet/src/com/esotericsoftware/kryonet/EndPoint.java
	kryonet/src/com/esotericsoftware/kryonet/FrameworkMessage.java
	kryonet/src/com/esotericsoftware/kryonet/JsonSerialization.java
	kryonet/src/com/esotericsoftware/kryonet/KryoNetException.java
	kryonet/src/com/esotericsoftware/kryonet/KryoSerialization.java
	kryonet/src/com/esotericsoftware/kryonet/Listener.java
	kryonet/src/com/esotericsoftware/kryonet/Serialization.java
	kryonet/src/com/esotericsoftware/kryonet/Server.java
	kryonet/src/com/esotericsoftware/kryonet/TcpConnection.java
	kryonet/src/com/esotericsoftware/kryonet/UdpConnection.java
	kryonet/src/com/esotericsoftware/kryonet/rmi/ObjectSpace.java
	kryonet/src/com/esotericsoftware/kryonet/rmi/RemoteObject.java
	kryonet/src/com/esotericsoftware/kryonet/rmi/TimeoutException.java
	kryonet/src/com/esotericsoftware/kryonet/util/InputStreamSender.java
	kryonet/src/com/esotericsoftware/kryonet/util/TcpIdleSender.java
	kryonet/test/com/esotericsoftware/kryonet/BufferTest.java
	kryonet/test/com/esotericsoftware/kryonet/DiscoverHostTest.java
	kryonet/test/com/esotericsoftware/kryonet/InputStreamSenderTest.java
	kryonet/test/com/esotericsoftware/kryonet/JsonTest.java
	kryonet/test/com/esotericsoftware/kryonet/KryoNetTestCase.java
	kryonet/test/com/esotericsoftware/kryonet/MultipleServerTest.java
	kryonet/test/com/esotericsoftware/kryonet/MultipleThreadTest.java
	kryonet/test/com/esotericsoftware/kryonet/PingPongTest.java
	kryonet/test/com/esotericsoftware/kryonet/PingTest.java
	kryonet/test/com/esotericsoftware/kryonet/ReconnectTest.java
	kryonet/test/com/esotericsoftware/kryonet/ReuseTest.java
	kryonet/test/com/esotericsoftware/kryonet/UnregisteredClassTest.java
	kryonet/test/com/esotericsoftware/kryonet/compress/DeflateTest.java
	kryonet/test/com/esotericsoftware/kryonet/rmi/RmiTest.java
	lib/asm-4.0.jar
	lib/jsonbeans-0.5.jar
	lib/kryo-debug-2.20.jar
	lib/minlog-1.2.jar
	lib/objenesis-1.2.jar
	lib/reflectasm-1.07.jar
	project.yaml
	src/com/esotericsoftware/kryonet/Client.java
	src/com/esotericsoftware/kryonet/Connection.java
	src/com/esotericsoftware/kryonet/EndPoint.java
	src/com/esotericsoftware/kryonet/FrameworkMessage.java
	src/com/esotericsoftware/kryonet/JsonSerialization.java
	src/com/esotericsoftware/kryonet/KryoNetException.java
	src/com/esotericsoftware/kryonet/KryoSerialization.java
	src/com/esotericsoftware/kryonet/Listener.java
	src/com/esotericsoftware/kryonet/Serialization.java
	src/com/esotericsoftware/kryonet/Server.java
	src/com/esotericsoftware/kryonet/TcpConnection.java
	src/com/esotericsoftware/kryonet/UdpConnection.java
	src/com/esotericsoftware/kryonet/rmi/ObjectSpace.java
	src/com/esotericsoftware/kryonet/rmi/RemoteObject.java
	src/com/esotericsoftware/kryonet/rmi/TimeoutException.java
	src/com/esotericsoftware/kryonet/util/InputStreamSender.java
	src/com/esotericsoftware/kryonet/util/TcpIdleSender.java
	src/examples/java/com/esotericsoftware/kryonet/examples/chat/ChatClient.java
	src/examples/java/com/esotericsoftware/kryonet/examples/chat/ChatServer.java
	src/examples/java/com/esotericsoftware/kryonet/examples/chat/Network.java
	src/examples/java/com/esotericsoftware/kryonet/examples/chatrmi/ChatRmiClient.java
	src/examples/java/com/esotericsoftware/kryonet/examples/chatrmi/ChatRmiServer.java
	src/examples/java/com/esotericsoftware/kryonet/examples/chatrmi/IChatFrame.java
	src/examples/java/com/esotericsoftware/kryonet/examples/chatrmi/IPlayer.java
	src/examples/java/com/esotericsoftware/kryonet/examples/chatrmi/Network.java
	src/examples/java/com/esotericsoftware/kryonet/examples/position/Character.java
	src/examples/java/com/esotericsoftware/kryonet/examples/position/Network.java
	src/examples/java/com/esotericsoftware/kryonet/examples/position/PositionClient.java
	src/examples/java/com/esotericsoftware/kryonet/examples/position/PositionServer.java
	src/main/java/com/esotericsoftware/kryonet/Client.java
	src/main/java/com/esotericsoftware/kryonet/Connection.java
	src/main/java/com/esotericsoftware/kryonet/EndPoint.java
	src/main/java/com/esotericsoftware/kryonet/FrameworkMessage.java
	src/main/java/com/esotericsoftware/kryonet/JsonSerialization.java
	src/main/java/com/esotericsoftware/kryonet/KryoNetException.java
	src/main/java/com/esotericsoftware/kryonet/KryoSerialization.java
	src/main/java/com/esotericsoftware/kryonet/Listener.java
	src/main/java/com/esotericsoftware/kryonet/Serialization.java
	src/main/java/com/esotericsoftware/kryonet/Server.java
	src/main/java/com/esotericsoftware/kryonet/TcpConnection.java
	src/main/java/com/esotericsoftware/kryonet/UdpConnection.java
	src/main/java/com/esotericsoftware/kryonet/rmi/ObjectSpace.java
	src/main/java/com/esotericsoftware/kryonet/rmi/RemoteObject.java
	src/main/java/com/esotericsoftware/kryonet/rmi/TimeoutException.java
	src/main/java/com/esotericsoftware/kryonet/util/InputStreamSender.java
	src/main/java/com/esotericsoftware/kryonet/util/TcpIdleSender.java
	src/test/java/com/esotericsoftware/kryonet/BufferTest.java
	src/test/java/com/esotericsoftware/kryonet/DiscoverHostTest.java
	src/test/java/com/esotericsoftware/kryonet/InputStreamSenderTest.java
	src/test/java/com/esotericsoftware/kryonet/JsonTest.java
	src/test/java/com/esotericsoftware/kryonet/KryoNetTestCase.java
	src/test/java/com/esotericsoftware/kryonet/MultipleServerTest.java
	src/test/java/com/esotericsoftware/kryonet/MultipleThreadTest.java
	src/test/java/com/esotericsoftware/kryonet/PingPongTest.java
	src/test/java/com/esotericsoftware/kryonet/PingTest.java
	src/test/java/com/esotericsoftware/kryonet/ReconnectTest.java
	src/test/java/com/esotericsoftware/kryonet/ReuseTest.java
	src/test/java/com/esotericsoftware/kryonet/UnregisteredClassTest.java
	src/test/java/com/esotericsoftware/kryonet/compress/DeflateTest.java
	src/test/java/com/esotericsoftware/kryonet/rmi/RmiTest.java
	test/com/esotericsoftware/kryonet/BufferTest.java
	test/com/esotericsoftware/kryonet/DiscoverHostTest.java
	test/com/esotericsoftware/kryonet/InputStreamSenderTest.java
	test/com/esotericsoftware/kryonet/JsonTest.java
	test/com/esotericsoftware/kryonet/KryoNetTestCase.java
	test/com/esotericsoftware/kryonet/MultipleServerTest.java
	test/com/esotericsoftware/kryonet/MultipleThreadTest.java
	test/com/esotericsoftware/kryonet/PingPongTest.java
	test/com/esotericsoftware/kryonet/PingTest.java
	test/com/esotericsoftware/kryonet/ReconnectTest.java
	test/com/esotericsoftware/kryonet/ReuseTest.java
	test/com/esotericsoftware/kryonet/UnregisteredClassTest.java
	test/com/esotericsoftware/kryonet/compress/DeflateTest.java
	test/com/esotericsoftware/kryonet/rmi/RmiTest.java