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.
variable -> variables