ADDED: before and after hooks

For when you have multiple executors, for example multiple test runners or compilers, then the `before_` and `after_` hooks can be used which to indicate before/affter each individual executor.

Currently the success or failure isn't exposed to the `after_` hook. And the type of the executor isn't exposed to either `before` or `after`.

This will allow hooks such as the teamcity hook to publish the results after a each test executor in the event that a test fails in that execution, currently when an executor fails the `post_` hook does not run.

`pre` and `post` remain as hooks around the whole stage.

:mag: /cc @gshutler