start on @nogc

This adds the machinery for an @nogc function attribute, which will form part of the type signature of functions.

It does not add actual checking or inference. Those are to come.