FIX: Only pick up valid tag names to avoid pattern errors.

When inserting (unescaped, invalid) text into the buffer, for example:
    :noremap <F4> :%s/\([\.!?]\<Bar[\.!?]"\)\s\s/\1text /g<CR>
navigating over the text (here: <Bar) causes script errors (here: "E55: Unmatched \)") on every cursor move.
Refine the pattern that picks up HTML / XML tag names (as close to the standard as feasible in Vim) to avoid that invalid tag names are picked up. Even invalid buffer contents should not cause script errors.
FIX: Properly escape literal tag name in matching.

Even with the restriction to valid tag names, certain allowed characters (like ".") have special meaning in the searchpairpos() regexp, potentially causing wrong matches (e.g. with <foo> vs. <f.o>).
Change the regexp to "very nomagic" /\V/ and escape any remaining backslashes as a precaution.
Merge pull request #15 from inkarkat/fix-regexp-error

Fix regexp error and make it more robust.