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
So we had `TypeError cannot concatenate`, now we expect `TypeError Expected int or long`, seems like test doesn't distinct new behavior from old.

Also, please, don't shorten "typerr" and make it pass PEP-8.

I can change it all, if you are fine with different git commit author. You still be listed in AUTHORS file.