Prefer sudo over as(:root)

Using `sudo` should be safer in practice because it is easy to control
through the sudoers file. `as(:root)` requires unlimited access to the
root user, which is probably not what we want.

This reverts foreman and upstart back to using `sudo`, but the
implementation relies on SSHKit's command map prefixes. This eliminates
the need to branch in each task that needs the optional `sudo`.

@subosito, after going down this path a ways I realized that the change I made going from `sudo` to `as(:root)` was not ideal because it meant the deployer user needed full access to the root user. I added `upstart:configure_sudo` and `foreman:configure:sudo` tasks, which will run immediately after the "stage" task. These new tasks add `sudo` as a prefix to the configured command if the user sets the flag to use `sudo`. Let me know if you have any questions. Sorry for the mistake.