Test that you can catch `undefined`.

Not sure what #160 was about. An error was being raised during a stack
overflow. I thought that causing a stack overflow would reproduce it but
everything seems to be fine.

The place where there would be errors now would be in the call to
`consume`, but that would mean that the previous errors where not an
array and that that value has been rethrown. I've added an assertion for
the next release to see if in any of my applications of Cadence, the
previous array of errors is not an array.

Oh, wait.

The problem is if the user throws `undefined`. Then the condition is
going to pass and the `uncaught` property will be sought in `undefined`.
I am able to reproduce the error, but I was wrong about how it was being
generated.

This commit adds tests for a stack overflow and throwing undefined.

Closes #218.