Clone Error instances to preserve instances of subclasses of Error

If we're dealing with an instance of a subclass of Error, we can't just make a
new Error, otherwise we lose that class information. Instead, we can clone the
original instance.
0.0.3
Merge pull request #6 from Clever/fix-error-subclasses

Clone Error instances to preserve instances of subclasses of Error