Fix for some serious bugs in C and C++ highlighter

&lt; and &gt; don't seem to work as they used to. So this patch replaces
them with the corresponding < or > sign like it was done in the clike
base language.

The pattern for macro statements was seriously flawed. It didn't allow
for macros with no argument like #else or #endif. This patch fixes the
problem and additionally adds support for multiline macros, which are
fairly common.

#define FOO(a, b, c)    \
    do {                \
        do_stuff_here   \
        do_more_stuff   \
    } while (0)

Furthermore the path of the #include macro is highlighted as a string.

#include <stdio.h>
#include "config.h"

C also allows for multiline strings in a similar way as multiline
macros.

"This is a	\
multiline	\
string"