Added a custom strategy option to <Model.import>

Sometimes, when you have a complicated ActiveRecord relationships,
you need tight control on the importing SQL queries and mechanics.

This patch allows you to implement your own custom strategy, by
implementing an `import` method, and passing it to <Model.import>
as the `:strategy` option.

Example:

class MyCustomImportStrategy
  include Base
  def import &block
    klass.
      where(published: true).
      joins(:comments).
      find_in_batches(:batch_size => options[:per_page]) do |batch|
        index.import batch, options, &block
      end
    self
  end
end

Closes #709