Don't mutate the user metadata `:pending` wrongly.

In the metadata, `:pending` expresses user intent,
not the result of the running the example. The result
goes in execution_result. So, we should not mutate
this key based on the result of the example.

There was also some missing test coverage that I added here.

Fixes #1376.
Don't verify mocks if the example already failed.

It adds unnecessary complexity.

Fixes #1363.