Made corresponding changes in general cross-validation module

Mainly the documentation of general-cv

And elastic-net works perfectly with general-cv framework.
Fixed a tiny bug in IGD

Start writing user doc
Added introduction to lasso and Elastic net.

Need to add algorithmic details.
Small change in literature.bib
Use /* */ to comment out code related to Ridge in general CV

-- will not work if there is PythonFunction, because sql_in is processed
first by cmake
Argument check at the beginning
User doc is finished
Better error handling
Added references to user doc
Corrected a tiny bug and added install-check
Install-check for elastic net is done
Incoporate the data science team feedback

* make use_active_set default to be true
* optimizer_params is a string
Improvement on the backtracking stepsize while editing the design doc

The original backtracking starts in each iteration from the step size of
the previous iteation.

My previous implementation starts in each iteration from the max step
size.

This commit starts the search for step size from the previous step size
times eta. This is an adaptive way of changing the step size. Some tests
show this is the fastest.
Design doc for elastic net is done.