Add support for 'selectmode=cmd' setting

- Map normal mode 'v', 'V', 'C-v' and 'C-q' to new SwitchModeVisualCommand
- Implement SwitchModeVisualCommand to obey 'selectmode=cmd'
- Add unit tests to verify 'selectmode=cmd' behavior
Fix regression in dragging to start visual mode

- Add new IsMouseKey predicate
- Don't handle unmatched mouse keys in visual mode
Test to verify 1244 is fixed

Added a test to verify that #1244 is now working.

close #1244
Merge pull request #1290 from ricksladkey/fixes-visual-mouse

Fix regression in dragging to start visual mode
Merge pull request #1288 from ricksladkey/fixes-selectmode-cmd

Add support for 'selectmode=cmd' setting
Remove "advanced key" logic