Common utility functions for regularizations

Some useful functions for Ridge, LASSO and Elastic-net.
Make utils_regularization.py_in compatible with array[] expressions
Make utils_regularization.py_in compatible with array[] expressions
Make utils_regularization.py_in compatible with array[] expressions
Linear Ridge regression together with cross-validation support
Ridge linear regression: Make it accept array[]

Also removed some argument validations that are related to the independent
variable, because the independent column name might be an actual SQL
expression
Elastic Net

will finish IGD, FISTA, CD, BCD optimizers

will add cross-validation support
Elastic Net: Be consistent with previous changes

utilities changed locations, also elastic net changed location. Just
need to make the elastic net files be consistent with all these changes.
Elastic Net: Continue programming
Continue programming FISTA
Continue programming FISTA
Added state definitions for IGD and CD
IGD is over-engineered due to its use of previous old code. Start to
remove all the over-engineered parts.
Make Elastic-Net compilable

Things to do:

(1) Implement __gaussian_fista_state_diff and __gaussian_fista_result

(2) Update intercept_y

(3) Necessary updates in Python

(4) Add FISTA as an option on top layer

(5) Make FISTA and IGD work, and test their speed

More things to do:

* Grouping support, including grouping support for normalization

* Faster iteration for active set

* Completely repair CD optimizer
Implemented __gaussian_fista_state_diff and __gaussian_fista_result

Only two functions as simple as possible
Added update for intercept and intercept_y
Upgrade IGD for elastic net
Upgrade IGD for elastic net (gaussian)

Use the mirror truncation to get sparse coefficients.

Other changes in IGD for elastic net:

* changed model to coef
* use a separated intercept term in task
* added variables that are needed by mirror truncation to task

To do for IGD:

* To change SQL and Python part so that they are compatible with the new
  state definition
* To change the computation of intercept since it is better handled now
* To add array[...] support
Update IGD for elastic net SQL/Python due to the algorithm upgrade

Also corrected several bugs in FISTA
Fixed a lot of small bugs/typos