Move context.dispatchException outside of try block in .throw method.

When the dispatched exception is not handled by the generator function,
the exception should be re-thrown and not caught by the try statement in
the .throw method, because catching the exception there (and continuing
the while loop) causes an infinite loop.

Wise words: if you don't test it, it's probably broken.

Closes #44.