Add small functionality test.
Implement header row and types row in iterator.

Produce a tuple of column names first if header is true. Produce a tuple of
concrete types which each column will be returned as if types is true, this will
be produed before the first row.
Handle (0|1)-indexed issues.
Use more short-circuit evaluation.
Retrieve BLOB as a byte array.

Uses sqlite3_column_text since the only change that will be made is the addition
of a nul-byte and I can't figure out a nice way to load the value from a void
pointer.