Smoothness Matrices Beat Smoothness Constants: Better Communication Compression Techniques for Distributed Optimization