Added extra checks in protocol negotiation
Added a single place in the code for implementing sleep (so it becomes easier in the future to port to different platforms)
Changed plans for the responsibilities of CComManager; small code changes
Use CComManager in the main app
Added a semaphore class
Added CCriticalSection class
Added basic comlink list functionality to commanager
Renamed sendMessage/receiveMessage to sendMessageDirect/receiveMessageDirect, to make room for future CComLink methods that will have these names; added some thread code to CComLink
Added to-be-sent message queue
Moved comlink initialization (e.g. protocol negotiation) out of the constructor to its own method, so that comlink objects can safely be made without communication timeout problems
Added some send functionality
Changed comlink to deal only with serialized messages, not with actual message objects
Added timeout wwait method to semaphore class
apply timeout in wait for new data to send