Fix table iterator issues

* incomplete results when performing the same query twice and exhausting the second iterator before the first. (First one writes incomplete results to _seqcache) (with test)
* False results potentially going to _seqcache if Row.update is used during iteration. (no test as it's just an optimisation)
* Fix create_csindex when there's NaNs.
* index wasn't being used if it claimed there were no results. Issue #351