Added directive preprocessors

Enable looking backwards for previous directives and thus build control
structures with directives.
Rewrote @else in consequence and added @elsif & @elsunless.
Added @switch, @case and @default.