py2.5 compatibilities w/six.py

-except Exception as e:
+except Exception, err:

the unfortunate use of six.b('') instead of b'', many more coming in test cases.
string_type => six.binary_type
bytes => six.binary_type
allowed_string_types now always a tuple: it helps the error message display better,
improve TypeError in expect(pattern=)

* also: added comments to note these general catch-all statements:
except:
    pass # woah
py2.5 compatibilities w/six.py

-except Exception as e:
+except Exception, err:

the unfortunate use of six.b('') instead of b''
print(arg0, arg1) => six.print_(arg0, arg1)

some autopep8 -i is definitely called for, some of these test cases are darn unreadable, but did partially pep8 some of the really-long-over-80col-lines.
use print_ from six.py for py2.5 compatibility
py2.5-compatible exception handling
unicode fix, exception fixes for py3
exception fixes for py2.5<->3.2 compat
serious attack at newline issue
serious attack at newline issue

also subprocess.check_output is not py2.5 compatible; use Popen directly
exception fixes for py2.5<->3.2 compat
exception fixes for py2.5<->3.2 compat
more unicode fixes
fix old/new way for sure ...
py3 has slightly different TypeError message
assert child exit status
woops, another py3 fix
exitstatus fix