implementation of two linesearches in theano

one of them is based on only evaluating the function, the other
one respects the strong wolfe condition and implies also computing
the gradient with respect to the scalar we optimize.
pointer to the code I inspired myself from
Rop for FilterActs
Rop for pooling
missing cuda code for rop and WIP test file
add warning for the test
Merge branch 'master' of git://github.com/lisa-lab/pylearn2
Rename LxReg to LpNorm to be more consistent with the litterature
Add unit test for LpNorm
refactored corruption.py and added salt/pepper noise
fixed logical bug in corruption
Add more code to LpNorm unit tests
Add necessary things for unit tests to work
Changes to test_lp_norm_cost.py
small style fix
Documentation fix on TrainingAlgorithm.train
Good start on GSN code
Basic GSN functionality should be working
fixed small bugs
cleaned up my code a lot. Fixed bugs in gsn.py, added comments/questions for things I'm unsure about