supervisorctl: add command-line options as module parameters

Yesterday pull request #3435 (issue #1674) came out while I was simultaneously working on this.  This is a similar idea (pass module parameters to command-line), but I put all the relevant arguments (missing ones are more for interactive use) and I also refactored the module for DRY.

Adds more parameters which may be passed to supervisorctl:  config, serverurl, username, password

Also refactored the various `module.run_command(build_a_string)` calls into a single `run_supervisorctl` function.