Remove IO class & cleanup Connection spec

Separation of IO from Connection was a stupid idea and is no longer
necessary after realizing that the classes themselves should not be
concerned with threading. The class that ties them together can worry
about threading.
Add return value tests to connection spec
Merge branch 'develop'