Make sure release_path is set correctly

Non-deploy actions should use the latest release as their active release

Fixes #102
Merge pull request #103 from engineyard/fix-maintenance

Make sure release_path is set correctly
Missing changelog entry for #103
Bump version for release 2.4.1
Add .pre for next release
[git wrapper] defend against helpful git

When using `GIT_SSH`, git attempts to detect accommodate the use of
`Plink.exe` by simply matching against `plink`. If detected, git adds
`-batch` to the command invocation which breaks our wrapper scripts.

Filter this specific case. Ref: Triage-5683, US729
Merge pull request #104 from engineyard/plink

[git wrapper] defend against helpful git
Support experimental ey.yml options `keep_releases` & `keep_failed_releases`

Changes the number of releases or failed releases that will be kept
after the deploy has finished.
Warn if we skip a non-executable "executable" hook.

We only execute hooks if they have both the correct name and are
executable. If there's a file that has a hook-like name but is not
executable we still don't run it, but now we output a message so that
it's more obvious why it has not been executed.
Merge pull request #107 from engineyard/warn-exec-deploy-hook-not-executable

Warn if we skip a non-executable "executable" hook.
Merge pull request #106 from engineyard/keep-releases

Support experimental ey.yml options `keep_releases` & `keep_failed_releases`
Show a warning (not status) when an apparent executable deploy hook is skipped
raise when waitpid2 returns non-nil that isn't a pid.

This isn't something that should ever happen.
I can't reproduce it locally, nor can I find documentation showing
any other response other than a pid in ruby or unix/linux docs.
Nevertheless, it is occurring on at least one customer instance,
so hopefully the error output here will help us track it down.
Give better errors when waitpid2 returns an unexpected value