SPARK-2813:  [SQL] Implement SQRT() directly in Spark SQL

This PR adds a native implementation for SQL SQRT() and thus avoids delegating this function to Hive.
I'd block other reimplimentations until we know how to do type coersion as they are going to cause regressions over current behavior.  Regarding the type-coersion, it would be great to discuss the interface you are thinking of before you get too far into implementation as I think this is a pretty complex problem.