Brick inputs and outputs are tagged with an application call

The application call can be used to e.g. include auxiliary variables, such as monitors, extra cost terms etc.

Also: fixes to graph parsing.
Also, note that although in most cases I think you can simply pass a NumPy function as the aggregation method, you are in no way limited to them. You can write custom functions that perform aggregation in more intelligent ways (although they still need to act on a list of minibatch results).