Fix non-functional supervisord start command

Trying to launch supervisord results in the PID file being erased, which
means we then can't restart supervisord (because the PID file is gone).

So, instead of launching and restarting if launching fails, let's try
and restart, and start instead if that fails.
Convert to more recent berkshelf