Add cache version for C code.

Also implements __eq__ and __hash__ methods.
fixed the pyflakes test
Concat all .cu files in a mod.cu, compile into (lib)cuda_convnet.so
better input validation
added toronto preprocessing, fixed bug in gcn preprocessing
Fixes after code review
Do not raise ImportError
added a return all option to MLP.fprop
Raise SkipTest in test
Merge pull request #151 from lamblin/convnet_cache_version

Add cache version for C code.
Correctly set the headers and libraries(and corresponding dirs) when compiling ops.
Add assert in make_node to raise the error earlier.
remove code line not used.
Fix compilation crash as the compiledir/subdir was deleted.
Merge pull request #152 from nouiz/mixed

Fix crash and make the MaxPool[Grad] op compiled better done.