Add run_command to module_common and update modules, part deux

Related to issue #1738. Moves the handling of running system commands into module_common.  The main difference from #1846 is that shell=(True|False) is gone.  If you provide a list, shell=False.  If you provide a string, shell=True.  As usual, comments welcome.  :-)