Messages: add support for tags

Not used right now,
but will be used to specify Kafka topics, for example.
Going fully modular!

A lot is happening here.

The overall idea is to get rid of sinks in favor of filters,
a more powerful abstraction.

We have yet to provide good reporting functionality for those,
but please be patient :)
build.gradle: add minimal-json

Growing tired of manual JSON :)
We'll use this lightweight and simple JSON implementation for reporting.