Fix the C/C++ lexer's handling of byte order marks

By not supporting byte order marks, it ended up (as a fallback) treating
each character in the (UTF-8 encoded) byte order mark as an operator,
wrapping it in <b class="op">X</b>.  This of course meant the result was
invalid UTF-8, which would cause crashes when fetched via /fetchlines,
and incorrect rendering otherwise.