code: def run(&block)
        @running = true
  
        until (@queue.empty? || paused? || limit_reached?)
          begin
            visit_page(dequeue,&block)
          rescue Actions::Paused
            return self
          rescue Actions::Action
          end
        end
  
        @running = false
        @sessions.clear
        return self
      end
docs: Start spidering until the queue becomes empty or the agent is
   paused.
  
   @yield [page]
     If a block is given, it will be passed every page visited.
  
   @yieldparam [Page] page
     A page which has been visited.