Replace hand-rolled CREATE TABLE parser with menhir+sedlex
- parser.mly: conflict-free LR(1) grammar; handles structure (parens,
commas, table-vs-column dispatch)
- lexer.ml: sedlex tokenizer with case-preserving keyword tokens,
4 quoting styles, SQL comments
- ast.ml: column body classification (type affinity + constraints)
done in OCaml, not the grammar
Also fixes:
- CONSTRAINT name UNIQUE(...) now enforced (named table constraints)
- NULL columns skip UNIQUE checks per SQL standard (multiple NULLs
allowed under UNIQUE)