Bayesian Optimization for Probabilistic Programs