Allow custom ?words and !words

- ?@ and !@ remain special forms for now, but ?words are just words
- Dwarf tags are now asserted by ?TAG_xxx instead of mere ?xxx.  This
  is a cleanup for namespacing purposes, it's getting crowded in there.
- Consequently, first bunch of asserts was converted into builtins:
  ?eq, ?lt, ?le, ?ne, ?ge, ?gt and the corresponding negative forms.
Drop ?all, !all

- This will be introduced as a builtin, if at all.
Better vocabulary for @stmt_list
Split builtins into topical modules