Represent a violation with details, if possible (re heynemann/holmes-web#25)

This commit add a new class, MaterialConveyor. It works like a
proper conveyor that process information before delivering it to
MaterialGirl.