Introduced session handling

Introduced session handling in order to support multiple active
connections. Up to 50 simultaneous connections are supported.

This means that it is now possible to connect to multiple test gear
servers from the same test script. For example:

device0 = connect("tcp://127.0.0.1:8000")
device1 = connect("tcp://127.0.0.1:8001")

device0.list_plugins()
device1.list_plugins()