QueryResult.first_item and QueryResult.first_row indexed element [0]
without checking the row count, so they raised IndexError when a query
returned no rows. Both properties now short-circuit on an empty result
and return None in row-oriented and column-oriented mode.
Closes#824
Signed-off-by: Arpit Jain <[email protected]>