No more abstract rule

* Renamed `Rule\AbstractRule` to just `Rule`, and changed `Rule::validationLogic` to be concrete, defaulting to `true`
* Added the new behavior system using traits
* Updated README.md
* Need to tag this as version 1.0 after the merge