Choose an editor from a predefined list in case $EDITOR is not set and show an error if none is available.

This should be an improved solution to the bug discussed in pull request #115.

To determine whether an editor is available `command -v` is used instead of `type` as it is
available on all POSIX systems. The shell mode was disabled as this would pass the arguments
to the shell itself instead of the subprocess.