Implement :normal command.

This implementation is not completely equivalent to Vim's. That's
because it relies on Emacs to do the interpretation of the normal
state command using `execute-kbd-macro`.

The bang argument is not supported.

This addresses issue #251.

--HG--
extra : amend_source : 4c667bb6a8c178d98395a2145f2ac894b11f2c7b
Make `evil-replace` insert exactly one newline (fix #253)

According to Vim's doc, the 'r' command should always insert exactly
one newline character, no matter how many characters have been
replaced.

--HG--
extra : amend_source : cac6fac84e30c0c332ae9eaf27866ac66c14d332
Merge stable-1.0
Make `evil-read-key` support digraphs

If a character argument is read using `evil-read-key` (e.g. the
motions f F t T and the command r), a digraph can be inserted by
pressing `C-k` followed by the two digraph characters.

For this, the function `evil-read-digraph-char` is bound to `C-k` (by
default) in `evil-read-key-map`. This functions performs the reading
and transformation of the digraph as well as the overlay handling in
the buffer.

The command `evil-insert-digraph` now simply calls
`evil-read-digraph-char`.
Add :show-digraphs command

This command can be used to show all available digraphs.
Use `inhibit-read-only` instead of calling `toggle-read-only`
Merge implementation of :normal command (fix #251)