SPARK-2149. Univariate kernel density estimation

I stole this calculation from commons math - https://github.com/apache/commons-math/blob/trunk/src/main/java/org/apache/commons/math3/distribution/NormalDistribution.java.

I'm a total novice on numerical stability, but maybe they have some reason?  We get to avoid a floating point division.