implement client side of protocol
add ClientRunnable class and ConsoleClient test app

ClientRunnable - same funcionality as TestClient, but runs in a separate thread

update comments in other files
add graphical diagrams