Add support for 'whichwrap=[,]'

- Add new concept of `MoveCaretWithArrow` to complement `MoveCaret` so as not to interfere with non-keybinding uses of `MoveCaret`.
- Arrange for `<Left>` and `<Right>` in insert mode to use the new API.
- Implement caret moving with or without wrapping according to `whichwrap` settings.
- Add tests for moving the caret in insert mode near line breaks with various values of `whichwrap`.