Added ability to use predicate methods on any type of field

The predicate methods behave just like the out-of-the-box ActiveRecord methods. It also ensures that you always get a boolean back from a predicate method (before if you had a boolean field that was ```nil``` its predicate method return ```nil``` instead of false)