Considerable revision of variational utilities.

Now suports "fallback" sources which can be used
to defer calculation to another variation object,
e.g. to allow a nominal variation to act as a
cache for common calculations.