Simplify AST helpers and cleanup node definitions

Unify all nodes which have an inlined body.
Make sure that code that traverses the AST can skip nodes
with a varint in its body (e.g. future `AST_INT`) and varlen inlined data
(all literals). Fix `ast_dump` to not duplicate the logic of skipping the
right amount of bytes.