Supervisorctl enhancements

This changes two things:
* If a program is in the state "STARTING" `state=started` will not try to start it again, and `state=stopped` will stop the program.
* `state=updated` is added which simply run `supervisorctl update <program>` to make sure supervisor is using the latest version of the configuration file for the program. This is useful if you keep a configuration file for a program updated ie. via the `copy` module, then using `state=updated` afterwards will only restart the program if there are changes to the configuration.