- BindEncoder works in 1 case
   - show() to read back the results
   - use composition rather than inheritance to get from Encoder to Cursor
     - keep column state in BindEncoder
   - begin to address `unused_variable` warnings in query.rs; declutter some warnings
     - prune unused imports in query.rs
     - silence `visible_private_types` warnings on Cursor::new etc.
     - add `must_use` to SqliteResult
 - handle null return from sqlite3_column_text
clean up bind_param debug logging
derive Show for BindArg so we can use it in debug logging
more JDBC/Go like API, inspired by sfackler/rust-postgres works in 1 case (bind2)
  - RowIndex, FromSql, ToSql traits
  - Cursor::execute binds params from [&ToSql]
  - Cursor::query method returns Rows iterator
  - Cursor::get(0u) or get("name")