Probabilistic Data Analysis with Probabilistic Programming