allow cxx flag to be full path to compiler
fix to use user specified compiler
addressed some comments by P.L., some docstrings are still missing
graph optimization caching made better
check specified compiler is g++
Merge branch 'master' into allow_cxx_flag_full_path

Conflicts:
	theano/gof/cmodule.py
fix error message
fix
improve waring message
Merge pull request #2242 from cocu/allow_cxx_flag_full_path

allow cxx flag to be full path to compiler
Implemented grad for cudnn softmax.
Incorporated reviewer comments.
Added optimization that converts SoftmaxGrad to DnnSoftmaxGrad and associated test to make sure it is applied correctly.
Added test to ensure SoftmaxGrad to DnnSoftmaxGrad is not applied when cudnn is excluded from optimizations.
Incorporated reviewer comment.
Changed variable from T.vector to T.fvector since the data will only be on a GPU.
Merge pull request #2250 from daemonmaker/cudnn

Implemented grad for cudnn softmax.
fix some small bugs
Reordered includes so cuda.h is checked before cudnn.h (to avoid giving misleading hints)
Add CUDA include dir so cuda.h is found; also add CUDA library dir to mimic configuration when compiling CUDA ops