RMSProp learning rule implementation

The implementation is based heavily on the AdaDelta learning rule.  Tests still needed -- should hopefully be able to get around to that over the course of the next day.  

The motivations and math behind RMSProp are described by Geoffrey Hinton at the lecture slides below: http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf.
If you wouldn't mind, now's as good a time as any to make this a `_setup_monitor` helper method (I think it's a fairly self-contained blob of code) and spare us all a little bit of sanity next time someone has to read `setup`. Preserve the comment warning here, but also probably in the docstring.