Emitter: All eval_build_* functions use build_ensure to make sigs.
Emitter: All eval_build_* functions use build_ensure to make sigs.

This means that list, tuple, and hash building each got a fair amount of code
removed that would try to build a signature+siglist, then possibly get it
thrown away if it was a duplicate.

The resulting code is smaller, and it also only builds a new signature if the
signature will be unique.

In sanity.ly, this results in a reduction of 5K of memory usage (a drop in the
bucket compared to the 437K it used beforehand). However, it does result in
210 fewer allocations (4,140 to 3,930), slightly more impressive.

jesserayadkins/lily,FascinatedBox/lily,jesserayadkins/lily,FascinatedBox/lily,FascinatedBox/lily,jesserayadkins/lily,FascinatedBox/lily