Add KeyRemapMode.None

Previously KeyRemapMode was being represented as both an enum like value
and an option.  When working on some other fixes it made more sense to
simply represent this as an enum.  Hence I added the None option to the
discriminated union and fixed up the resulting code changes.

The result is much cleaner in the majority of places.  The one place it
produced less explicit code is in VimBuffer::ProcessCore.  Here is the
one case where we special case the lack of a KeyRemapMode.  Instead of
considering the results to be mapped we process one key and hope that
processing it results in new KeyRemapMode value
Restore normal mapping after register

Normal mode mapping was not being considered after the register value
was entered.  Instead it was remaining at none.  This meant that no
normal (nmap) mappings were being considered in combination with a
register.  This fixes the bug for both normal and visual mode

closes #1203