Remove mf_v{add,nam}_cmd lambdas from context.c

There was one particular sort of lambda that essentially just passed
its arguments on to makefile_vadd_cmd or makefile_vnam_cmd.  The
problem is that this requires passing a pointer to the makefile, which
is a bit of a pain (because I'd have to go and modify every single
language method).

I decided instead to just use a global variable to hold the pointer.
There's checks to see if anything calls these functions recursively,
and all the nastiness exists in a single file, so I think it should be
OK for now.