Fix MongoDB Broadcast Cursor when empty

Tailable cursors do not remain alive (and block in next()) if they
are empty.

An example of this behavior:
http://stackoverflow.com/questions/10321140/using-pymongo-tailable-cursors-dies-on-empty-collections

Adding an outer find() loop appears to be non-trivial since the
cursor init/find() and poll/next() are decoupled, so the
BroadcastCursor has no way to restart itself.