Expose REPL errors

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Literal convertible

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Add whitespace to operator functions for readability

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Map rows returned in Statement iteration

It ends up being about 0.7 times faster than using a mutable array per
row.

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Lazily cache column names on Query iteration

Improves performance significantly.

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Don't create intermediate dictionary for Query iteration

Row objects can instead maintain a column name mapping and store the raw
statement row. This dramatically improves performance when iterating
rows and lazily accessing data.

Signed-off-by: Stephen Celis <stephen@stephencelis.com>