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
changed ScaledCost class to a helper function
add SML (PCD) and CD-k for RBMs
Merge remote-tracking branch 'upstream/master'
changed ScaledCost to scaled_cost
fixed indentation in ScaledCost
fixed bugs and typos in SML and CD-k
Merge remote-tracking branch 'upstream/master'

Conflicts:
	pylearn2/costs/cost.py
	pylearn2/costs/ebm_estimation.py
fixed a bug (type stride_stride)
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