[WIP][SPARK-2554][SQL] CountDistinct and SumDistinct should do partial aggregation

Should we put a default value for `currentValue`? And then we can ignore the null checking in function `eval` and `update`