Golang syntax highlight support.

Hi, 

This time with test. Please review. 

BTW, why do we have *lexer.c files in the source tree? They are generated by flex. 

Thanks
Andy