Changed function GetName into property Name in IConnectionFactory
Removed unused MyClass.cs
Refactored WSJConnection to allow arbitrary sockets
Implemented binary protocol based on raw TCP clients
Adapted native test client to use binary protocol
Removed unused variable
Removed unnecessary comment
Fixed a typo
Added check if client is connected before calling stream's EndRead
Added handling of IOException when sending or receiving
Rewrote sending code to send entire message as a single block of bytes

This helps to avoid reordering of the message length and message contents
Made native client to support both BP and WSJ protocols
Split "multi-purpose" constructor of ClientDriver into two
Added documentation
Refactored HandleFinishedRead into multiple smaller functions
Merge branch 'binary_protocol' into develop