catch errors from external commands in version detection (fix #377)

Calling external commands may raise an error of the command does not
exist.
check for .git or .hg directory before setting version number (fix #378)

Otherwise the revision of some enclosing repository might be used.
replace state uses current input method
horizontal scroll commands take a numeric prefix argument
horizontal scroll commands are not repeatable with .
corrected documentation for evil-activate-input-method and evil-deactivate-input-method
"0 register behaves as in Vim

"0 holds the last thing yanked without a specifying a register.
do not modify `register-alist` in `evil-register-list`

The list returned by `append` contains `register-alist` as tail. The
subsequent call to `sort` sorts that list destructively, possibly
modifying `register-alist` itself, which must not happen.
fix duplication of register 0 in `evil-register-list`

This register is not mapped to the kill-ring anymore but an ordinary
register stored in `register-alist`.
use `x-get-*` and `x-set-selection` for * and + registers (re #380)

This registers access clipboard and primary selection directly without
interacting with the kill-ring.

--HG--
extra : rebase_source : c05dfbf221a09e8b8d64dd299c870a475a281941
add Gordon Gustafson to authors list