Major refactor of ChatModerator
Refactor ChatModeratorPlugin.java for clarity

Move Filter and IPFilter around into new packages

Move Filter back (oops)

Refactor ViolationSet and PlayerManager for different data storage

Fix deadlock on IPFilter, some refactoring

Set reasonable defaults for Violation level

Temporary value until we can determine how to calculate the violation score

Change InetAddress[] to Set<InetAddress>

Add helper method to declare all violations and their respective values

Minor cleanup on IPFilter to reflect recent changes

Call the event in addViolation()

Moved around Violation and ServerIPViolation (into tc.oc.violations.core)

Move fixed from Violation into Filter

Make the fixed state configurable via config

Fix spelling on enabled

Change tc.oc --> tc.oc.chatmoderator

Rename tc.oc.tests and various other packages

Adds permission to exempt specific players from filters

Update pom.xml to reflect change in package names

Remove permission based exemption (Bukkit bug, afaik)

Fixed extra tab for @rmsy's 'pedantic self'

Refactor on fixed to Violation

Remove 'fixed' from ViolationAddEvent (oops)

Add defaults for fixed in Violation

Remove configurable option for fixed from config

Remove whitespace
Remove Eclipse-specific files from .gitignore
Add unit tests for all testable filters
Refactor RepeatedCharactersFilter to access Pattern outside of class

Add documentation to generatePattern()

Add test for RepeatedCharactersFilter

Put error-message in seperate variable

Rewrite on RepeatedCharacterTest

Fix ugly formatting

Change .matches() to .find()

Add AllCapsTest for AllCapsFilter

Add method to get pattern from AllCapsFilter

Add test for AllCapsFilter

Clean up documentation

Add test for ProfanityFilter

Clean up some messy imports

Fix incorrect character count in RepeatedCharactersFilter

Closes OvercastNetwork/ChatModerator#8

Add and clean up docs on ViolationSet
Standardize Pattern variable and method name