Fix el-patch-validate
Fix el-patch-validate

This addresses #8.

In commit [1], the behavior of el-patch--select-patch was changed to
return the name and type of a patch, rather than the patch definition.
However, function el-patch-validate, which uses el-patch--select-patch
when called interactively, was not updated to use the new version. It
therefore failed to work (although el-patch-validate-all continued to
work).

This was fixed by changing the argument spec of el-patch-validate and
updating its body to call el-patch-get.

The debugging process was slightly annoying because I forgot that you
needed to call el-patch-validate with a prefix argument in order to
run the pre- and post-validation hooks (which caused errors when
validating certain patches). So I also made it so that the hooks are
run when a prefix argument is *not* provided.

This also led me to notice another logic error, namely that the
pre-validation hooks were not run when the function was called
noninteractively with a non-nil value of run-hooks. This was fixed
too.

Finally, I noticed that the docstring of el-patch--select-patch was
wrong, so I fixed that in the process.

[1]: 3431f39f3deb228f59c8d346214fd13e304119b3

raxod502/el-patch