Compile regexp only once

Change-Id: Iad1a726238b2c1ab9b30ead837fbba8e18e9b26a
Add Violation and Reporter classes

Change-Id: I52262f90f52f4c7440ebf6ff511fe702d1a8973e