allow specifying custom mappings for the effective motion execution

If g:smartword_allow_remap is true, `normal` is used instead of
`normal!`, thus allowing the executed command to be remapped.
The dictionary g:smartword_commands is read for the desired mapping,
making it possible to use custom motions, e.g. from plugins like
CamelCaseWord.