Online Learning: Stochastic, Constrained, and Smoothed Adversaries