WIP: Make ->count call ->count_rs->first unless software_limit=1
This removes the (at least sometimes) bogus "optimisation" of not
passing the rows/offset to the DB when counting, unless explicitly asked
for. It may have to be reinstated on a per-DB (or per limit dialect)
basis.
Also removes bogus ->count test in fetch_first, since
a) software_limit completely removes the paging logic from ->count.
b) SQLite doesn't support FETCH FIRST x ROWS ONLY
TODO: Figure out if ->count can be further simplified.