Gaussian Process Sampling and Optimization with Approximate Upper and Lower Bounds