Fluent cursor upgrades

Sometimes all you need is a row count or the first row of the returned results. Writing `try { return c.getCount(); } finally { c.close(); }` is clunky and `toFluentIterable(c, /* ... */).first()` is inefficient, so I added the `toRowCount()` and `toFirstRow()` methods to FluentCursor class.