made TransformDistribution fail gracefully

When trying to make a TransformDistribution from something other
than a string (e.g., the actual module), it will fail as it tries
to do string operations on the argument.  Now it will raise an
TypeError with a better description.

We don't use isinstance(..., str) as that would not handle a
unicode string, or any other (duck) type that would potentially fit.