Fix string concatenation errors

Some error paths concatenate the output of "type" with a string,
which gives TypeError: cannot concatenate 'str' and 'type' objects,
rather than describing the actual error.

Note the test is somewhat limited because the assertRaises doesn't return the exception, unlike e.g with testools.TestCase.

Closes #149
Oh and thank you very much for patch.
Here are few rules de-facto in use but not written enough.

Eventlet testing approach since 2013:
* plain function tests, `LimitedTestCase` is legacy easy way to ensure timeout
* `assert` statements
* `tests.run_python` + separate file if you need isolation

We don't wait for anybody to provide anything. If it can be written with `try/except` (language constructs which do not require knowledge of unittest library), it means there was no value in `assertRaises` in the first place.