allow `evil-invert-char` crossing lines (fix #247)

If `evil-cross-lines` and `evil-move-cursor-back` are non-nil then
executing `evil-invert-char` usually bound to `~` should move point to
the first character on the next line.
fix `evil-show-files` in empty buffers

If the number of lines in a buffer is zero this function caused a
divide-by-zero error. This change makes it display "No lines in
buffer" instead.
implement `evil-show-marks` bound to :marks
fix accidental toggling of Evil in nXhtml/mumamo

`mumamo` changes buffer local variables and runs major mode hooks when
changing the major mode in some part of the buffer. This change
ensures that the variable `evil-local-mode` is not touched (it's made
permanent-local) and that the globalized minor mode hooks are not run
(i.e. `evil-local-mode`).
fix `evil-shell-command` in ex-state with empty range (fix #369)

The default range passed to an ex-command is the current
line. Therefore, checking the parameters `beg` and `end` is not
appropriate for deciding whether the current ex-range is empty. We
must check the variable `evil-ex-range` instead.
fix default cursor

The default cursor value in variable `evil-default-cursor` should not
be initialised with the colour of the cursor of the current frame. On
the one hand, no current frame might be available (e.g. in Emacs
server mode), on the other hand this colour may be inappropriate if
the colour theme is changed afterwards. Instead we adapt the function
`evil-refresh-cursor` to choose the current frames colour at
runtime. This addresses merge request 52.
merge mumamo integration
Merge branch 'master' of https://git.gitorious.org/evil/evil