Refactor <<...>> directive parsing to support arguments as name='val' settings just like XML elements.

Fix *.flex specification to reject directive names with trailing characters.
E.g. <<defaultLinkTargetWindowGarbage>> works fine but it should not.


LONG TERM

Support arbitrary href-linking.
    Meaning allow an arbitrary span of HTML to be linked (like some text and an image).
    This is very difficult to do without adding a runtime performance-load and
    dependency on a JavaScript library, because at this time we only support
    insertions after the tag name but here we need to insert an <a> tag before
    the wrapped tag.

Branch Beaver and do some major re-design.
    Throw more consistently, passing problem offset wherever possible.
    Write Terminals as a real enum.
    Fix the anti-OO way that beaver.Symbol must be overridden.
    Change label-variable behavior to be consistent.  Don't have the semantics
     and type of the generated variable entirely dependent upon something else.
     Generated variable "x" for "expr.x" should always be the same damned thing.
    Use more rigorous type-checking for ArrayList usage.
    Fix bugs where . operating behavior differs from + in unintended and bad
     ways.
    Use Generics.
