Use __mad_version class to make the code be compatible with older
versions of GPDB and PG
Remove Ridge regression from elastic net

Elastic net can use Ridge regression when alpha = 0. However,
due to the project switch at the beginning of agile training, ridge
regression tests are not finished, and it was pushed down to the
bottom of the priority queue of the stories.

So ridge regression will not be part of elastic net in this sprint. It
can be added back later when it is fully done in the future.

This will not affect the elastic net functionality, because the user can
always run FISTA or IGD.

Coding completed, Finally!
Corrected various small bugs, most of them are related to compatibility
issues