Updating the API to the new API

JAVA-1325
It would be better to use forEach instead of into.  With into you run the risk of an OOM exception if the result set is too big (that 1 that's passed to the ArrayList constructor is just a suggestion, it doesn't limit the size of the Array.  If the forEach future is cancelable, you can wait for the first result, cancel the forEach future, then complete the outer future, and you're done.  Once we expose batches directly, this becomes even easier.  Just get the first batch, grab the first result, and close the cursor.