Fix mapping so that only prefixes are allowed

Mapping 's' to something in normal mode would have weird side effects:
since KeyMapResolver would keep returning "NormalMode", pressing 'fs'
used to trigger the 's' mapping even though 's' is not a prefix of 'fs'.

Since the resolver now returns null when in the middle of a command,
mappings will no longer be triggered in that state.

One side-effect is that all KeyMapResolver instances can not return null
after a CountConsumingState is traversed or they would break counts
before remaps.

Also added helper methods in ConstructorWrappers to help with operator
keymaps (those need to return omap after the operator or when any count
for the following motion was entered).

Work for #415.
Add tests for multiple-keys operators, text object

Work for #415.