Notify execution context about timeouts earlier.

This is the first step to support Run Keyword If Timeout Occurred in
keyword teardowns (#1790). As a bonus the code is also cleaner.
Merge branch 'master' of https://github.com/robotframework/robotframework