Tight Risk Bounds for Gradient Descent on Separable Data