Ust 5293/dev 5296 add error only report mode

This is a major overhault on the code base. 
Explanation to come about the main logic, but it can be sum-up with:
- nodes get a "configuration id", unique for a set of configuration parameters;
- agent run carry that version id
- we use that to get the actual expected reports for a node, and compare them to what we get

Along the way, I tried to normalize and simplify a lot of datastructures used. For example, now we only have ONE type of StatusReport, not one for Rules and one for Node. 

![kanyeweststronger](https://cloud.githubusercontent.com/assets/76947/4252925/dae86ec8-3a99-11e4-8074-6f2d1466c20e.jpg)