add `evil-ex-initial-input` variable
make `evil-shell-command` work as operator (fix #363)

If called in non-visual state the command uses `evil-ex-initial-input`
to start ex state with a predefined input line.
depend on `goto-chg 1.6` instead of `goto-last-change` (fix #229)

`goto-chg` also provides the function `goto-last-change-reverse` and
is not contained in the marmalade repo, so it is suitable as
dependency for stable versions of Evil.
catch error in `evil-get-register` if NOERROR non-nil (fix #367)

If NOERROR is non-nil no errors should be raised by
`evil-get-register` if some register is not available. Registers that
access the kill-ring via `current-kill` may raise an error if the
kill-ring is empty.