Introduce `Violation` class

With some extra goodies that will be useful for the next step…
Add basic blacklist to Crawler
Crude implementation of Enforcer idea

The idea is to traverse a directory and look for albums with
inconsistent tags, and offer to “enforce” some predefined rules on the
faulty files (though it currently updates the tags for all files).