Bind `delete-char` to [delete] in insert state

In Emacs 23 [delete] is remapped to \C-d, which is in turn bound to
`evil-shift-left-line`. Hence the delete-key does not work in insert
state as expected. This change binds [delete] directly to
`delete-char`.
Make `evil-insert-digraph` repeat by change (fix #282)

This function calls `read-key` internally, so it is not recorded
properly using keystrokes. However, record by change works.
Add `evil-middle-of-visual-line` command bound to `gm` (fix #284)
Save match-data within `evil-ex-search-update-pattern` (fix #288)

This function is called from change-hooks and these hooks are supposed
to preserve the match-data according to the Elisp manual.
Add tags to some test cases
Implement :move and :copy (fix #271)
Add variable `evil-ex-point'

This variable records the position of point before an ex command is
called. The reason is that (point) is usually moved in order to
reflect the current ex region.
Fix position of point when evaluating an <addr> argument (re #271)

--HG--
extra : amend_source : 7f7ead0dc04f059b5393808965a7aba1579af6cc
Add :t as alias for :copy (re #271)