[WIP] Change LiftRules.funcNameGenerator to a FactoryMaker.

This changes the funcNameGenerator to a FactoryMaker allowing it to be changed on a per-request and per-session level in addition to the default behavior. Still waiting to hear if I should rip out the disableTestFuncNames stuff while I'm in here.

fixes #1449