The result of `difflib.unified_diff()` may contains newlines at the end of its
each line. It's suppressed in original Vim, but it's illegal in Neovim.
Since there is no good way to prevent `difflib` from appending newlines to the
results, `_output_preview_text()` function should sanitize it.
Thanks @michamos
Reference:
a5edc5f257/src/nvim/api/buffer.c (L215)https://github.com/sjl/gundo.vim/pull/30#issuecomment-170064637
Python 3.5 adds type-checking to difflib, which causes gundo to fail.
This fixes the issue by converting the arguments to strings.
See https://bugs.python.org/issue17445 for details
Instead of displaying hardcoded "j/k" for motion between undo states,
real keymaps are fetched from `g:gundo_map_move_older` and
`g:undo_map_move_never` variables.