Updating the API to the new API

JAVA-1325
All operations that call first() either produce a single resultset array (eg inline mapReduce) or the operations are limited to produce a single results.  Either way we should only ever have 1 batch.  

However, its prudent to enforce a single batch once that api is done - so I'll add a ticket to ensure its done post async batch cursor.