Rate Distortion Theory for Arbitrary Sources