Fix TimeoutExpired class

This pull requests fixes two issues:

1. Fix `__str__` method

This method was throwing an exception (`AttributeError: 'TimeoutExpired' object has no attribute 'timeout'
`) because it was referencing variable `timeout` which was never assigned in the constructor.

2. Fix argument order in the `TimeoutExpired` class constructor method

The line of code which was throwing this exception was passing arguments to the constructor in the same correct order which is used in Python 3.3 and above (`cmd, timeout, output`), but the constructor declared them in an invalid / different order (`timeout, cmd, output`).

See https://github.com/python/cpython/blob/master/Lib/subprocess.py#L388 for reference.
Yeah, sorry. forgot about that - I wanted to have a look if you also support Python 2.5 and if I need to use `sys.exc_info` or if "Exception as e" is enough, but I forgot to do it.

Anyway, looks like you only support 2.6 and above. I've pushed a fix in 909f42a8dd6478338db613a175a81ef2e8d33c87.

Let me know if I need to do anything else (squash the commits / whatever).

Thanks.