Merge pull request #1 from bwaldvogel/master

add method to return best task
fix mdbq::Client::get_best_task()

BSON objects returned by cursors become invalid after next batch is
fetched. see documentation of mongo::DBClientCursor::next().
make mdbq::Client::get_best_task() more resilient

use mongo::DBClientCursor::nextSafe() to detect server errors