Add @cache to Moped::Cursor for out-of-block iteration

The Mongo Ruby driver (and thus Mongoid 2.x) supported iterating over a
cursor outside a block, using such operations as take(). For example:

    batch_size = 10
    cursor = session[:users].find({}).cursor
    while (users = cursor.take(batch_size)).present?
      # Do stuff...
    end
    # Do more stuff...

This was a convenient pattern for implementing lots of algorithms in a
more readable way than if they were written using each().