Completing the AGP code and making it a black box.

1) Separating the AGP from Lasso.
2) Making the code more modular:
adding inputs and outputs in the structure format
Adding features such as verbose
3) Adding comments.