RMSProp implementation modeled off of AdaDelta
Add running averages as members of RMSProp class

This enables us to use them as monitored values.
Reorder things in SGD.setup, so we call learning_rule.get_updates
before learning_rule.add_monitoring_channels.
Also add a little bit of doc.
Docs, error/exception updates, and addition of SGD._setup_monitor
Learning rule doc fix + PEP8 for learning_rule tests
Fixed monitoring_costs documentation in sgd.__init__.
Monitor.setup now checks for type of extra_costs.
changed monitor.setup check on extra_costs from OrderedDict to dict
updated test in test_monitor to use dict rather than OrderedDict
monitor.setup checks for OrderDict or dict for extra_costs. changed test to use assert_raises
test for extra cost runs through entire Monitor.setup method
Added start, stop, start_fraction, end_fraction and take_subset.
Added some documentation.
Added "task" parameter to CSVDataset.
Nesterov momentum implementation
Tests for nesterov momentum, style fixes