Added block and refactor

Use `block` to change condition, default search is `where :compare => :value`
```ruby
  class Tag < ActiveRecord::Base
    has_many :postings

    acts_has_many :postings do |params|
      where arel_table[:title].matches(params[:title])
    end
  end
```
Replace `compare` method to `condition`

Notice, if block is defined:
   >* `:compare` argument will be ignored
   >* auto `validates :compare, uniqueness: true` is off