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.
Hmm, thats a good question.  We need to add a mechanism for allowing expressions (or maybe just functions?) to specify their expected input types.  And then add a type coercion rule that adds casts when these don't match up.  A good starting point would probably be investigating all of the possible ways that Hive UDFs are allowed to express this information.