try harder to locate a suitable emacsclient executable

Improve how the default value of `with-editor-emacsclient-executable'
is determined.  If we fail to do so, show a warning.

We determine whether an emacsclient executable is compatible with the
current Emacs instance by comparing its version with `emacs-version'.
The versions don't have to match exactly, but at least the major part
has to do so.  This commit changes how an executable's version is
determined.  We now use `emacsclient --version' to do so.  Relying on
a version-suffix does not work, because most often these executables
do not have one.
Consider that tramp user can be nil.

Correct tramp file name can be either /method:user@host:/.../ or
/method:host:/.../, with-editor-looping-editor didn't consider the
second form.

Closes #97
Merge pull request #98 from vanicat/t/no-user-in-tramp

Consider that tramp user can be nil.
(NOT READY) Add interactive version of with-editor