Use keyword arguments to initialize Generators

This pulls 19a3f51, f312fa4, and 0ecb341 out of #671, setting the
stage for the final ContentGenerator unification.