Recognize mangled symbols preceded or followed by other punctuation.

Previously we were requiring that each mangled symbol begin and end at
what Emacs considers to be a symbol boundary.  Unfortunately, Emacs
considers `+` to be a symbol constituent.  Therefore, we would fail to
match the mangled symbol part of
`_ZN7CxxTest14ErrorFormatter3runEv+0x18`.  The fix is to stop using
Emacs's definition of symbols entirely.  Instead, we require that a
mangled symbol start at beginning-of-line or immediately after a
non-underscore-or-alphanumeric character.  And we end the symbol
greedily, when there are no more underscore-or-alphanumeric characters
to slurp up.

Thanks to GitHub user @philipp-classen for [noticing and
reporting](https://github.com/liblit/demangle-mode/pull/1) this
problem.