Added Adagrad (diagonal and full matrix variations), which is meant to be an adaptive proximal function for subgradients, but also gets used as an adaptive vector step-size a fair bit. Tested out, seems to be working, might need parameter tweaking.