Add AdaGrad to learning_rule

Implements the AdaGrad learning rule as described in: "Adaptive subgradient methods for online learning and stochastic optimization", Duchi J, Hazan E, Singer Y.
Removed `add_channels_to_monitor`  for AdaGrad and AdaDelta
Merge pull request #1200 from yelite/adagrad

Add AdaGrad to learning_rule