don't use dolist to add entries to auto-mode-alist

See #110 and #111.
don't use EMACS environment variable

The EMACS environment variable is usually defined by tramp to the value "t".
Replace the variable name with EMACS_BIN to avoid build failure.
git-commit-setup-hook: make better use of :options Custom property
Merge branch 'master' into next

Conflicts:
	Makefile
	git-commit-mode.el
with-editor-looping-editor: use shell built-in `wait'
with-editor: fix typo in comment
with-editor: support alternative way of choosing the envvar

The environment variable to be set could previously be chosen by
providing the optional ENVVAR argument which has to be literal string.

Now if `with-editor--envvar' is let-bound around `with-editor' this
is respected if ENVVAR is not also set.  This is intended for internal
use.
with-editor: always use looping editor on remote

When `default-directory' is a remote directory accessed using Tramp,
then use the looping editor instead of the emacsclient with the looping
editor as fallback.  This isn't a bugfix, for existing code we also take
care of this in our advice to `start-file-process'.   This prepares for
upcoming additions.
with-editor-set-process-filter: arrange for our filter to run last
with-editor-output-filter: new function

Create `with-editor-output-filter' from code previously
in `with-editor-process-filter'.  This prepares for upcoming
additions which expect such a filter that only takes a STRING
argument and not also a PROCESS argument.

On such future use is as `eshell-preoutput-filter-functions' which
expects that a string (which is then inserted) or nil is returned.
with-editor-export-editor: new command

Add new command `with-editor-export-editor' which allows setting
the editor for subsequent commands in `shell-mode', `term-mode'
and `eshell-mode' buffers.

Also add the non-interactive variant `with-editor-export-git-editor',
which is useful when to set GIT_EDITOR using a hook (avoids having to
use a lambda).

Also add utility function `with-editor-read-envvar'.
TODO fixup! with-editor-export-editor: new command

Silex sais in #115:

"term sends an extra carriage return to the crontab
file name for some unknown reason"
TODO fixup! with-editor-export-editor: new command

Silex added this in #115, but didn't say why.
with-editor{,-async}-shell-command: new commands

Add the new commands `with-editor-async-shell-command' and
`with-editor-shell-command' as replacements for `async-shell-command'
and `shell-command'.

Add the utility function `with-editor-shell-command-read-args' and
advice `shell-command'.
shell-command-with-editor-mode: new mode

This is an alternative to `with-editor{,-async}-shell-command'.  This
mode arranges for the advice to `shell-command' to be always used,
regardless of what command (which ultimately uses that function) is
invoked by the user.  On the other hand this mode always uses $EDITOR,
so the replacement commands still server a purpose.
with-editor.el: update commentary