#581 Allow other transformations besides shift and expand to take functional arguments

The GalSim paper had the sentence "In addition, the shift, expand, dilate and flux rescaling transformations can take functions of wavelength for their arguments."

It seems (to me) a bit odd that we don't just allow everything to take such functional arguments.  The use cases might be less common for shear, rotate, and transform, but I thought the functionality should at least be available.  So this PR adds that functionality.  

The new sentence in the paper is now "In addition, the various transformations can take functions of wavelength for their arguments," in expectation of this change.
So we don't want to make this take wavelength-dependent arguments, as a way to let people combine wavelength-dependent shears and magnifications?  Once we're letting ```shear``` and ```magnify``` take wavelength-dependent arguments, it seems like it makes sense to let ```lens``` do the same thing, since it's a handy way to combine both transformations.