Monitors

This is first attempt at automatic validation routine creation. I sidestepped the issue of selecting proper variables for monitoring - since the tagged theano variables carry the information on how to aggregate them, the minimal validator needs just the list of variables. Selection should be handled elsewhere.

My idea is that such a validator would be run in the training loop via a hook. Another function would save somewhere or print the computed values.
I am not too fond of Aggragator either, but it is not a monitoring channel - it just tells you how to compute something on a large dataset by doing it incrementally, in batches.

Maybe a better word is Reduction? But this has too many connotations too.

Similarly, I started to call the thing this computes statistic and not value (which is too generic). Maybe we should get a linguist (Felix?) to come up with good names for stuff?