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
Merge pull request #80 from pascanur/linesearch

implementation of two linesearches in theano