Move to correct column in block insert/append.

The insertion point in block visual state insertion is the first resp.
last column in the first line. The cursor *must* be moved to this
column, even if that column does not exist, yet, because it's within a
TAB or after the eol.

This fixes #245.
Give explicit LIMITs to all calls to `looking-back`.

`looking-back` can be a *very* expensive operation in general: it
checks *each* buffer position before point for whether the regexp
starting at this position matches. If the regexp does not match, then
eventually *each* position up to the beginning of the buffer is
checked, which may lead to bad performance in large buffers. But
usually the minimal starting position when calling `looking-back` can
be bounded, e.g. by (line-beginning-position) if the match can only be
in the current line.

Because of this potential performance problems, we add an explicit
reasonably good limit to each call to `looking-back` that does not
change the result.

--HG--
extra : rebase_source : 08bae4349c002ff5f21d656933b0281af64e2004