Function Refactoring wip
1. Convert FunctionImplementationRegistry into holder of two registries (Drill and Hive)
2. Move existing FunctionImplementationRegistry into DrillFunctionImplementationRegistry
3. Create HiveFunctionImplementationRegistry and HiveFuncHolder classes.
4. Hive registry creates HiveFuncHolder based on function name and input args