[WIP][SPARK-2097][SQL] UDF Support

Remaining:
 - [ ] Python Support
 - [ ] Test cases
 - [ ] Input coercion