Worker executor adjustments

- Reset the notify_timeout on start (to ensure that the
  notification thread will continue working on repeated
  stops/starts)
- Adjust comment of stop/start method to reflect that more
  than just the proxy thread is started and stopped.

Fixes bug 1300373

Change-Id: I534fa87d9f3b9cfd7aa553f157cb7e776a08f54f
Add a engine preparation stage

Move the final logic of the compilation stage (and pre-run) code
into a new engine stage that is devoted to performing post-compile
but pre-run actions. Do the final validation that was being done
in compile() and run() in this stage instead of being split across
those two stages.

Breaking change: any user expecting storage to be ensured after
compilation will have to adjust their code to call prepare (after
which they can continue to expect storage to be ready).

Change-Id: Ie97bc4a795266dda9d7ae8b395bcaadcd1ada737
Merge "Add a engine preparation stage"
Merge "Worker executor adjustments"