Create timeout listener out of the spawned monitor

If the example block has a runtime error, the timeout listener never
triggers and the example waits forever. By creating the listener in the
parent monitor, the example can timeout if there is a runtime error.

Since there is no access to the stack dump, the best thing to do is
error the example.
Mark unexpected failures as errors

Create the 'Error' category for examples results, summarized as 'E'. It
does not terminate the suite.
Currently, only example spawns that die before timeout are marked as
error.