Improve tab-completion in ex state.

* tab-completion for ex-arguments can now be specified either by a
  collection or by a completion-at-point function. One of both
  completion types can be specified in `evil-ex-define-argument-type`
  using the :collection resp. :completion-at-point keyword.

* completion code for file and buffer arguments has been removed and
  replaced by the standard Emacs collections `read-file-name-internal`
  resp. `internal-complete-buffer`.

* completion code now handles the `completion-boundary` flag
  correctly, so that completion with point in the middle of a command
  or argument is possible.

--HG--
extra : rebase_source : 6c74d9be9676780409c1120b5747bf170dbe381e
Add tab-completion for Emacs command in ex command line.

Emacs commands can be executed like any other command in the ex
command line, but they could not be tab-completed. This change allows
for tab completion of these commands, too. The variable
`evil-ex-complete-emacs-commands' decides whether

  1. Emacs commands should never be tab completed (old behaviour)
  2. Emacs commands should always be tab completed
  3. Emacs commands should only be tab completed if the current text
     is not an ex command.
Fix completion info shown by `evil-ex-update` for Emacs commands.

This is simply a more accurate interpretation of the result of the
call to `all-completions`. The current text is incomplete if there is
more than one possible completion and it is unknown if there is no
possible completion.

--HG--
extra : amend_source : d2c95fd178f7b5a5e5864fe4f5a112012841f0f6
fixed bug where ENTER caused a newline+indentation
even if the current major mode normally only inserts a newline
Update doc of `evil-ex-complete-emacs-commands`
Ensure `evil-delete-backward-word` only deletes newline at bol

If point is not at the beginning of the line, the this function should
only delete characters on the current line, even if they are only
whitespaces. This corresponds to Vim's default behaviour.
Ensure `evil-delete-backward-word` only deletes newline at bol

If point is not at the beginning of the line, the this function should
only delete characters on the current line, even if they are only
whitespaces. This corresponds to Vim's default behaviour.

--HG--
extra : source : a69d18e16a36316572746cba33e4215862dfdf3e
Add option `evil-backspace-join-lines'

This user option determines whether backspace or C-w are allowed to
join the current line and the previous line if called with point at
the beginning of the current line. The default is t resembling
standard Vim behaviour.

--HG--
extra : amend_source : 937032480281dca1a17d6cf0a3ba9df1babe0d41
Modify doc of `evil-ret-and-indent`
Merge request 47: add `evil-ret-and-indent`

This function is identical to `evil-ret` but also indents a newly
inserted line. `evil-ret' now never indents a new line. Both functions
are remapped to `newline` resp. `newline-and-indent` in insert state.
Merge ex-completion

Ex state now supports completion of Emacs commands. The user option
`evil-ex-complete-emacs-commands` determines when Emacs commands
should be considered for completion. The default is to consider them
only if no ex-command is available for completion.
Bump version to 1.0.3
Merge stable-1.0
Add Stefan Wehr to authors list