Further cleaned up the exception handling here to make sense on both windows and non-windows, Python 2 and 3.
Further cleaned up the exception handling here to make sense on both
windows and non-windows, Python 2 and 3.

On Python 3 EnvironmentError is an alias for OSError.  On Python 2
WindowsError is a subclass of EnvironmentError.  So this will correctly
check the windows error, if it exists, in all cases.

On Travis we also need to catch ENXIO on Linux, and for some reason
EOPNOTSUPP on OSX.

0-wiz-0/psutil,0-wiz-0/psutil,giampaolo/psutil,giampaolo/psutil