Machine Learning at the Wireless Edge: Distributed Stochastic Gradient Descent Over-the-Air