Moved communications into new package.
Consolidated debug, repr in AbstractCommunicator.

There was a heck of a lot of redundancy in the different
communications wrappers, in particular _debug. This has
now largely been consolidated, though there is a lot of
other redundancy that is yet to be tackled.
Forgot to change sm -> serialManager in two places.
Forgot to add new package to setup.py.
Fixed typo in serialwrapper.py
Merge branch 'dev' into refactor-comm

Conflicts:
	python/setup.py
	python/src/instruments/abstract_instruments/comm/loopback_wrapper.py
	python/src/instruments/abstract_instruments/comm/serialManager.py
	python/src/instruments/abstract_instruments/instrument.py
Fixed problems with merge that were breaking unit tests.
Started USB-TMC communicaotr based on python-usbtmc.
Don't commit at 1am, kids. You'll forget something.
Fixed problems and tested with @CatherineH.
Untested units support for PM100USB.
Minor fix for prev commit.
Should at least partially support all measurement modes.
PM100USB no longer breaks unit tests.
Fixed minor bugs preventing operation with Rigol.
Removed .orig files I left by being dumb.
Added docstring, unit caching.
Merge pull request #27 from Galvant/refactor-comm

Refactor instrument communications