Supervisor module:
Support running supervisor from a virtualenv/custom path.
Support custom supervisor config file.
Create real tests using a virtual environment.

Supervisor state:
Fix restart when process is already running.
Support restart on watch.
Create real tests using a virtual environment.
Add missing test file
Give supervisor a little time to startup during tests
Merge branch 'develop' into supervisor-fixes
Reuse virtualenv for all supervisor tests
Merge pull request #5297 from olliewalsh/supervisor-fixes

Supervisor module and state improvements