Linear:updateGradInput avoids NaN and inf

The resize in Linear:updateGradInput can introduce NaN and inf into the
gradients. The resize itself leaves garbage in the gradInput tensor.
For normal numbers the subsequent addmm/addmv will clear the garbage.
However, if gradInput contains either nan or inf after the resize, the
multiply will result in nan instead of the desired result.
CMulTable updateGradInput now uses proper but slow gradient calculation. The old one is available in updateGradInput_efficient function.
Integrated CUDA conv routines from cuda-convnet library.
Skeleton for Max pooling.
Added Max Pooling for CUDA.
make print function print detailed information on torch class instances.
Added Bias to SpatialConvolutionCUDA.
Merge branch 'cudaconv'
Merge branch 'master' of github.com:andresy/torch
Added reference to Alex's code.
Correct implementation of SpatialMaxPoolingCUDA (Sixin's port)
Sped up getParameters() in simple situations.
fine tune printing a bit more
Merge branch 'master' of github.com:andresy/torch
Merge pull request #117 from akfidjeland/linear_nan

Linear:updateGradInput avoids NaN and inf
Experimental feature: creating Storages from raw pointers, in Lua.
Fixed a missing </file>.
Clarified that elements in a row are contiguous in memory.
Mentioned that torch.cat() uses the last dimension by default.
LuaJIT is now on by default.