Treat default clause for case statement as a whole with colon in bnf grammar

This commit removes ambiguity from case statement grammars, it seems default
lexer parses this statement as a whole. Also improved tests for case
statements to actually catch related bug.

fixes #48