Revert "I decided to make code fat, but a bit faster."

This reverts commit 4c6a8ff371a57edb522be72135e626f72de95676.

Conflicts:
	Codegen.hs
Added a set of new features to make LALR2C more customizeable.

Features:
    1. Allow code blocks before and after grammar definitions.
    2. User must define a set of names for internal LALR2C use.
    3. Optional %freeze directive to make reentrant parsers.
        User specifies special token, and if parser sees this token, it
        executes code attached to %freeze directive. Default action is
        to jump to final label.
    4. Optional %success and %failure directives to determine what to do
        in case of general parse error or in case parser reaches accepting state.
        If %success/%failure undefined, LALR2C generates final label and
        in case of error/accept parser jumps to final label.
    5. Determined parser behavior in case user didn't attach code block to rule.
        Now in this case parser simply pops symbols from stack.
        In every other case parser also executes user code and assignes
        $$ (aka LALR2C_RW_TMP_SEMANTICS) to stack top semantics.