Add 'unless' support and fix rake tests

We tried to run existing tests with `rake test` and they failed with some exception. So we fixed them before adding a new feature and then added the feature in a true BDD manner.

The new feature allows us to improve readability when describing models. Compare:

```ruby
  allows :destroy, if: proc { |article, user| !user.banned? && !article.important? }
  # vs
  allows :destroy, unless: proc { |article, user| user.banned? or article.important? }
```
Hehe, still helping with my gems hu? I gave them commit right since I am too lazy to merge. What u up to these days?