Parallel execution provider

Set a parallel executor as a dependency on your service. 

Executor conforms to standard defined in concurrent.futures, and schedules work on managed threads provided by ServiceContainer. Executor can also wrap an object and schedule any method calls automatically. An exception is thrown and passed to `kill` when a task ends with managed threads still running.