Renames withStatement to withStatement_.

This is consistent with the convention of suffixing functions not taking bound
parameters with _.
Changes withBind to bind.

This is less misleading, as withBind does not rely on bracket() like the other
'with' functions.
Adds withStatement, a version of withStatement_ with parameters.
Uses withStatement throughout.
Exports withStatement and withStatement_.
Adds openStmt_ and closeStmt.
Uses openStmt_/closeStmt throughout.
Adds openStmt.
Uses openStmt throughout.
Exports openStmt, openStmt_ and closeStmt.
Adds the nextRow function.
Instead of openStmt/openStmt_, use openStmt and withBind.
Renames openStmt/closeStmt to openStatement/closeStatement.
Uses bind instead of withBind.
Adds a test for withStatement_.
Adds test for withStatement_.
Removes the row number from Row.

This lets us offer a cleaner API for nextRow. Additonally, we can now turn Row
into a simple newtype.
Removes redundant do.
Renames withStatement_ to withStatement.

This removes the variant of this function which binds parameters. It is still
retained internally as withStatementP, since the pattern is useful.
Bind now returns IO() instead of IO Statement