Stacktraces

we use custom errors (cool!), but they don't extend from Error (boo!),
nor have stack traces. This adds them.