Add ViolationPreWarningListener to listen for violations

Upon a violation being created, this listener will call the necessary
events that will enable handlers to specify the specific warning to be
sent to the player, if they are online.

Made a few fields public in the PlayerViolationManager, registered the
event, some minor cleanup.