(WIP) Sparse models: S-LASSO and TV-l1

- Supports TV-l1 and S-LASSO priors
- Supports logistic and squared losses
- Has cross validation
- Can automatically select alpha by CV (+ automatic computation of useful alpha ranges for the CV)
- Warning: User must supply l1_ratio
Shouldn't we prefer pre-allocating space for `w_old`, then setting it inplace using `w_old[:] = w` in order to avoid re-allocating heap memory in different places? Or is my thinking deprecated and old-school? :)