Documentation fix for repeat#setreg()

Need to :execute the :silent! call to avoid that the remainder of the
command line is aborted together with the call when repeat.vim is not
installed. Otherwise, <SID>MyFunction() won't be invoked, and the
mapping does nothing.
Allow customizing all mappings

f1d0fbbdf4d77b73ba47146bada375223b3d733a allowed customizing the .
mapping by making the implementation function publicly accessible. Let's
do the same to s:wrap(), so that the other mappings (u, U, <C-R>) can be
extended, too.

(Personally, I'd like to have undo / redo stop and beep at the last
saved position, to avoid that I accidentally undo beyond the saved state
even though I didn't intend to.)
repeat.vim 1.1

* Fix adding trailing spaces when 've' is not empty.
* Don't increment b:changedtick, offer invalidate instead.
* Support repetition with original register.
* Don't clobber existing U map.
* Respect 'foldopen' on undo.
* Allow customizing all mappings.
Allow repeating operators with custom motions

Closes #8.
Avoid function error when buffer is not modifiable

When the buffer is unmodifiable, all wrapped commands cause:

Error detected while processing function <SNR>42_wrap:
line 2:
E21: Cannot make changes, 'modifiable' is off

instead of just the error message in the last output line.

To avoid that, I didn't use a try..catch around the :normal! execution
inside the function, because that changes the execution behavior of
:normal: It then does not abort and discard the rest of the sequence
when an error is encountered. Instead, check for this condition in the
wrapper mapping, and force the E21 by directly executing the wrapped
command. The only downside is that this doesn't also handle a W10
readonly warning in the same way (but try..catch wouldn't, neither).