IO now wraps file-like obj. Device + IO timeouts.

Improved timeout functionality. Timeout is now both an IO and a Device
feature, and uses multiprocessing instead of select. Select was not
cross-platform in the sense that it only works with sockets on windows.
Added device state attrdict.

``Device.state`` is a dict with keys that are accessible via attribute
notation. e.g., ``Device.state.is_running``, etc.
Modified req. pkgs. determination.

Starting modifications to enable >2.6 compatibility.
modified trove classifiers.
Working toward Python >2.6 compat.

Not functional by any stretch yet. Still very experimental and incomplete.