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.