Add shortcut options for specifying required executables

A common pattern in hooks is to check if a third-party executable is in
the user's PATH. This results in a lot of duplicate boilerplate code.

Make this easier by allowing the configuration to specify the required
executable and the command that can be used to install it.

Change-Id: Id1dd2f695ebb674818e03547a8e8d049c5bd9b2f
Reviewed-on: http://gerrit.causes.com/42288
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Convert built-in hooks to use required_executable option

The new `required_executable` option (and its accompanying
`install_command` option) allows us to remove a ton of boilerplate code
and specs, since it takes care of checking for the existence of the
executable.

This does introduce a behavior change in that all these hooks will now
fail (instead of warn or whatever their previous behavior was) in the
event the executable doesn't exist. This is acceptable since if you have
a hook enabled you shouldn't be ignoring it. If it isn't useful you
should disable it.

Change-Id: Icfe06e844e9ffe5f5234fd7c4629a1d54e02fe93
Reviewed-on: http://gerrit.causes.com/42289
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>