Provide a facility for decorating a Runnable before submission to ExecutorService via Scheduler

For Issue #1279

This provides another method of hooking into the Scheduler process.  Rather than forcing the plugin writer to write all 3 Schedulers (computation/io/newThread) from scratch, it allows the plugin writer to have access to the Runnable before it gets submitted to the ExecutorService.

In my implementation which needs to decorate Runnables, this reduced the effort from a copy-n-paste of the entire Scheduler codebase to a 1-liner.

Happy to debate names or any other aspect of this proposal