Make pyghmi tolerate arbitrary threading models

When calling from various threading code strategies, pyghmi
would cause confusion and eventlet to print debug output.
Create a dedicated IO thread to isolate the shared socket
usage from calling code thread behavior.  Currently, it still
requires that calling code loop on wait_for_rsp to assure session
liveness and/or to do SOL.

Change-Id: I66164adbfd867200af53269553210a70a0619a85