Split out violations into separate table

  * Makes `Violation` inherit from `ActiveRecord::Base` and adds associated
    table
  * Adds `has_many :violations` association to `Build`
  * Updates creation of `violations` in `style_guide`'s
  * Adds `violation` factory

https://trello.com/c/OLdRI0mO/336-split-out-violations-into-separate-table
Unused block argument - `repo`. You can omit the argument if you don't care about it.