Function Refactoring wip
1. Remove FunctionRegistry class and create FunctionCallFactory to instantiate FunctionCall expressions
2. Remove FunctionDefnition from FunctionCall and instead store function name in FunctionCall
3. Few other misc Provider removals/cleanup