improve error for non-existing/vs. sparse or dense gradient
improve error for non-existing/vs. sparse or dense gradient

Summary: I have hated the "gradient of X is either not provided or sparse" message. It is better to say which one is the problem.

Reviewed By: dzhulgakov

Differential Revision: D5468923

fbshipit-source-id: b63cde293fe252e5136d225ce4c762b4981f6fc8

sf-wind/caffe2,sf-wind/caffe2,davinwang/caffe2,Yangqing/caffe2,sf-wind/caffe2,sf-wind/caffe2,pietern/caffe2,davinwang/caffe2,davinwang/caffe2,Yangqing/caffe2,sf-wind/caffe2,xzturn/caffe2,xzturn/caffe2,caffe2/caffe2,xzturn/caffe2,Yangqing/caffe2,Yangqing/caffe2,pietern/caffe2,pietern/caffe2,pietern/caffe2,Yangqing/caffe2,davinwang/caffe2,xzturn/caffe2,davinwang/caffe2,pietern/caffe2,xzturn/caffe2