:buffers and :files commands now call `list-buffers`

This built in Emacs function provides a much better and more feature
rich list of buffers/files. The command :files now shows only buffers
visiting files, :buffers shows other buffers, too.
Add `evil-view-list` function

This helper function creates and shows new buffer in view-mode with
evil in motion state. It can be used to show certain lists, e.g.
registers, digraphs, ...
Show registers in separate view buffer

The register list shown by `evil-show-registers` now uses
`evil-view-list`.
Use `evil-with-view-list` for `evil-ex-show-digraps`
Make :registers not show empty registers
Respect length of kill-ring for number registers

`evil-get-register` returns the Nth most recent entry of the
kill-ring. If the kill-ring does not have enough elements, the
function now returns nil instead of wrapping around.
Forward declare `evil-motion-state` in evil-common.el
Respect `scroll-margin` in evil-window-top/evil-window-bottom (fix #267)