Fix generic resolution of more complicated types with noinit

Through exploring the varied effects of using noinit with return temp variables, I discovered that the insertion of the type constructor for AggregateTypes actually was supposed to live in resolveRecordInitializers, similar to why the resolution of some instances of PRIM_INIT needed to live there - part of the generic resolution for the method was not possible until the type had been fully resolved.  This commit makes PRIM_NO_INIT and PRIM_INIT behave in a more similar manner.

Additionally, by moving the code to resolveRecordInitializers, the noinit call could be cleaned up after the type constructor had been resolved (and in fact, needed to live longer than postFold was originally allowing it to).
You might put a comment here, stating that res is an expression representing the aggregate type for which the noinit primitive will supply a "noinit" value.