Threads: Propagate thread abortion errors to wait(). A thread terminating by throwing an error now causes any corresponding wait() on it to rethrow the error (instead of just returning zero (0)). This simplifies detection of thread failures.