Online Convex Optimization with a Separation Oracle