The Error-Feedback Framework: Better Rates for SGD with Delayed Gradients and Compressed Communication