Differentially Private Synthetic Data Using KD-Trees