Fix issue arising when used with remapped keys.

This fixes an issue arising from use of normal instead of normal! inside
the text object function. normal! is used in all places except one, the
final gv. The result is that if a user has remapped built in VIM
commands (gv, in this case), indent objects will not work correctly.
Allow users to define their own mappings.

This adds an option, g:indent_object_no_mappings, which users may set to
prevent vim-indent-object from defining any mappings. To allow users to
then define custom mappings, we add <Plug> mappings for each of the
objects. The default setting is to retain previous behavior, and define
mappings.