Features/asokvad260

Fixed threading problem in Threadsafe Blocking case by adding coarser locks around blocking calls.

Removed concept of ConnectionHandle in favor of more explicit factory methods and constructors for connections. This is motivated by the lack of thread safety between a blocking and nonblocking client on the same connection.