title: Tailable cursor in pymongo seems to have stopped working
body: <p>I have successfully been using tailable cursors in Pymongo for 2 years without a hitch, but all of a sudden, today, my identical code is throwing an "unexpected keyword" error:</p>
  
  <p><img src="https://i.stack.imgur.com/onFq6.png" alt="enter image description here"></p>
  
  <p>I upgraded to 3.0 Mongo a few weeks ago and it was still working fine, but perhaps a new pymongo version now does it differently as I just installed a new version (3.0.1) today? Previously it was pymongo 2.6.3. My code:</p>
  
  <pre><code>cursor = refreq.find(tailable = True, await_data = True)
  while cursor.alive:
      xxx
  </code></pre>
  
  <p>So basically anytime something is inserted into refreq collection I want to know about it, without polling. Used to work fine. Pymongo version 3.0.1 recently installed (today). </p>
  
  <p>Tried to put in an empty dict too </p>
  
  <pre><code>cursor = refreq.find({}, tailable = True, await_data = True)
  </code></pre>
  
  <p>but still gives the identical error. Has something changed?</p>
  
  <p>Here is the full thread code, for reference:</p>
  
  <pre><code>def handleRefRequests(db, refqueue):
      """ handles reference data requests. It's threaded. Needs the database id. 
      will create a capped collection and constantly poll it for new requests"""
      print("Dropping the reference requests collection")
      db.drop_collection("bbrefrequests")
      print("Recreating the reference requests collection")
      db.create_collection("bbrefrequests", capped = True, size = 100 * 1000000) # x * megabytes
      refreq = db.bbrefrequests
      # insert a dummy record otherwise exits immediately
      refreq.insert({"tickers":"test", "fields":"test", "overfields":"test", "overvalues":"test", "done": False})
      cursor = refreq.find({}, tailable = True, await_data = True)
      while cursor.alive:
          try:
              post = cursor.next()
              if ("tickers" in post) and ("fields" in post) and ("done" in post): # making sure request is well formed
                  if post["tickers"] != "test":
                      refqueue.put(post)
          except StopIteration:
              time.sleep(0.1)
          if not runThreads:
              print("Exiting handleRefRequests thread")
              break
  </code></pre>