Infinite Kernel Learning: Generalization Bounds and Algorithms