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.
This is not unique to this PR, but I'm realizing that we might be loosing coercion semantics as we natively implement hive functions...  For example, does this PR break `SELECT SQRT("2") FROM src LIMIT 1`?