Codegen: refactor Routine: add "routine" factory, implement in each Codegen

Put the existing Fortran/C `Routine.__init__` into Codegen class.
Essentially unchanged.  Update test header to use the factory, but
tests themselves unchanged.

Conflicts:
	sympy/utilities/codegen.py