Use more caution when importing and culling

We will not attempt to import a record unless we've verified that all of
its associated data exists in Supermarket. For instance, if a brand-new
user shares a cookbook shortly after we've imported users, but before
we've started to import users, we wouldn't want to try to import that
cookbook because the user doesn't exist in Supermarket yet.
Each import record is enumerable

This allows us to write imports as follows:

    imports = importer.new(importer.first).to_a

    if imports.any?
      ActiveRecord::Base.transaction { imports.each(&:save!) }
    end

Where we would previously open a transaction even if there was nothing
to import, as is the case on subsequent import runs.