Update foreman to work with command mapping

The current implementation does not honor command mappings. For example,
adding foreman to the list of `bundle_bins` used by the
capistrano-bundler gem should prefix the foreman execution with `bundle
exec`, but this does not happen in the current implementation.

This commit fixes the issue by passing in the command as an argument
array rather than a single string. This allows `SSHKit::Command.new` to
properly identify `foreman` as the command and apply mappings
accordingly.
Use the logged in user as the default for foreman

In a vanilla installation of capistrano, no `:user` variable is ever set
which leaves `:foreman_user` undefined. This update defaults the
`:foreman_user` to the user used to login to the host, which should be a
more useful and generally accurate default.
Allow the upstart command to be customized

In my usecase, I am using [user
jobs](http://upstart.ubuntu.com/cookbook/#user-job) to control the
application. This allows me to avoid giving sudo access to the deploy
user; however, by default the deploy user does not have `/sbin` in the
`$PATH`. This change allows me to set `upstart_cmd` to `/sbin/initctl`
so the deploy user can start/stop the app. It also provides better
integration with the command mappings in SSHKit by using a single
command (`initctl`) and calling execute in a way that allows the command
to be properly identified.
Merge pull request #2 from devin-c/friendly_foreman

Update foreman to work with command mapping
Merge pull request #3 from devin-c/configurable_upstart

Allow the upstart command to be customized