ChunkedIterator valid is a bool of chunk

Just some minor code cleanup. The negation of empty is just not necessary and rather clumsy.
ChunkedIterator tests for boundary cases and and below zero.