Optimizing Discrete Spaces via Expensive Evaluations: A Learning to Search Framework