Do some optimizations of AST.__init__ (#2762)
Do some optimizations of AST.__init__ (#2762)

The main thing here is not iterating over the full fields list, but
instead iterating over the list of attributes with factory defaults
and the kwargs dict separately.

This gets us benchmark speedups in the 2-5% range, mostly.
(We already picked up 1% from the previous AST changes.)
edgedb/edgedb,edgedb/edgedb,edgedb/edgedb