Fix for compiling with LLVM 3.4.
Adding skip-{pre/post} properties.

This skips a given constant expression before/after any field inside a
unit.

    # cat skip.pac2
    export type test_pre = unit {
        %skip-pre = / */;

          a: bytes &length=1;
          b: bytes &length=2;
          c: bytes &length=3;
    };

    # printf "   1 23   456"  | pac-driver skip.pac2
    <a=1,b=23,c=456>

%skip-pre/post can also be listed globally at the module level, and
will then be inherited by every unit in there. To disable inside a
unit, use "%skip-{pre,post} = None".

Note that the expression given with skip is assumed to represent an
optional token, which means that effectively it will often only make
sense to specify a regular expression that also matches an empty
string. The reason is that it may be hard to predict for the grammar
writer where exactly the skip gets inserted, as internally it's added
on a per-field basis, but per production of the generated grammar.
CMake tweak to make sure flex uses the header corresponding to its version.
Fixing regexp parsing for expression matching the empty string.
Baseline updates.