Add method run_command to module_common.py

This adds a helper method that modules can call to execute a command via
subproces.  It takes two arguments: the command to run and
keyword options that control how the process is executed.  Supported
options are: fail_on_rc_non_zero, close_fds, and executable.
fail_on_rc_non_zero will call fail_json if the command fails.  If
args is a list, the command will be run with shell=False; otherwise, if
a string, it will be run with shell=True.  Otherwise, run_command() returns
the returncode, stdout, and stderr.
Update modules to use run_command in module_common.py

This updates apt, apt_repository, command, cron, easy_install, facter,
fireball, git, group, mount, ohai, pip, service, setup, subversion,
supervisorctl, svr4pkg, user, and yum to take advantage of run_command
in module_common.py.
Merge pull request #1865 from sfromm/issue1738

Add run_command to module_common and update modules to use it.