[SPARK-2515][mllib] Chi Squared test

What do we do if both observed and expected are 0?  R gives
```
chisq.test(c(0, 0, 3), p = c(0, 0.6, 0.4))

	Chi-squared test for given probabilities

data:  c(0, 0, 3)
X-squared = NaN, df = 2, p-value = NA
```
even though the statistic is technically undefined in both cases. FWIW commons-math3 throws an exception for 0 values in `expected`.