Dnn default and doc

This PR should be merged after gh-2229. It is based on it.

It change the default behavior. If cudnn is there use it by default. If not, do not introduce it automatically.

Allow user to get an error if it isn't available.

Document it.
I would say "descriptor" instead of "description".  But even then this is an Op, not a data object.  So maybe "This Op builds a convolution descriptor for use in the other convolution operations."