Adds ability to ask objects if they should be indexed or removed.

This allows the instance to determine if it should be enqueued for index adds/removals based on things like certain states. So an order for example would not be enqueued at all until it changed from a CART state.

```ruby
class Order < ActiveRecord::Base
  def eligible_for_index?
    status != CART
  end
end
```

If an AR instance does not implement `eligible_for_index?` it's assumed business as usual :smile: