Copy of ops GpuSoftmax and GpuSoftmaxWithBias from theano/sandbox/cuda/nnet.py to theano/sandbox/gpuarray/nnet.py
Copy of tests test_softmax() and test_softmax_with_bias() from theano/sandbox/cuda/tests/test_nnet.py to theano/sandbox/gpuarray/tests/test_nnet.py
Changed parent classes and added methods c_headers() and c_compiler() to ops GpuSoftmax and GpuSoftmaxWithBias.
Changed float to npy_%(dtype)s in ops GpuSoftmax and GpuSoftmaxWithBias.
Convert x->nd to PyGpyArray_NDIM(x) in ops GpuSoftmax and GpuSoftmaxWithBias.
Convert x->nCudaNdarray_HOST_DIMS to PyGpuArray_DIMS in ops GpuSoftmax and GpuSoftmaxWithBias.
Convert CudaNdarray_HOST_STRIDES to PyGpuArray_STRIDES in ops GpuSoftmax and GpuSoftmaxWithBias.
Convert CudaNdarray_DEV_DATA to PyGpuArray_DATA in ops GpuSoftmax and GpuSoftmaxWithBias.
Convert output creation to use pygpu_empty and replace PyArray_DATA with updated code in ops GpuSoftmax and GpuSoftmaxWithBias.
Adapt tests for the ops GpuSoftmax and GpuSoftmaxWithBias and register them in opt.py.
Correct various bugs with ops GpuSoftmax and GpuSoftmaxWithBias. Current version passes tests with float32
Replace cast to int by cast to size_t
Replace content of c_init_code by reference to function setup_ext_cuda() in GpuSoftmax and GpuSoftmaxWithBias
Make GpuSoftmax and GpuSoftmaxWithBias compatible with float64 and adjust unit tests to test this
Fixed a typo in the unit tests
Merge pull request #1726 from carriepl/master

Conversion of GpuSoftmax and GpuSoftmaxWithBias to the new backend