Probabilistic Programming with Gaussian Process Memoization