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).