`evil-change-to-initial-state` does nothing if Evil is not running (fix #361)
update keymap when customizing variables

User options that determine whether a certain key sequence should be
bound to some command (e.g. `evil-want-C-i-jump`) are only read when
evil is loaded (in fact, only when `evil-maps.el` is loaded).
Subsequent modification of these variables did not change the keymap
anymore. Furthermore, a persistently stored value of such a variable
is only respected after a restart of Emacs if the customized value is
read *before* Evil is loaded, which is usually not the case.

This modification uses the :set property of `defcustom` to update the
keymap bindings when the value of the variable is changed.