Add #includes for presets
ast: Overhaul version block representation/matching

- Use ASTCLASS_VERBLOCK instead of ASTCLASS_VERSION
- Store versions as expressions in ASTCLASS_VERBLOCK.expr field,
  no more GROUPs containing a list of versions
- a.b is stored as BOP( ASTOP_MEMBER, a, b )
- multiple versions on the same versionblock are represented as
  operands of an OR BOP
- version matching now based on these expressions