Added LiftRules.funcNameGenerator which controls the logic of S.formFuncName

Just as before, TestMode gets different logic until names are generated when `S._disableTestFuncNames` is true.

https://groups.google.com/forum/#!topic/liftweb/5G0UyCn0HBc