Dual Mirror Descent for Online Allocation Problems