Add auto-formatting: inserting empty lines between certain statements
Emit version #define checks at top of bindings
Change command line option -m to -nomerge and default to merging
fbfrog: Fix parsing of OPTION with multiple options in the same line
Change strategy: Parse #includes like a CPP would do

- Removed pre-parsing to detect #include dependencies
- CPP now handles #includes
- This means that certain headers are roots (starting points), and there
  will be one AST per root, containing declarations from the root and all
  reached #includes, i.e. the binding as seen from code #including the
  root header.
- #include expansion could still be optional
Remove generic linked list, use AST instead
Start a design.txt to document design decisions

mostly to stop myself from worrying about certain issues again and again
every few months.
Remove the incomplete FB parser