Convert more test cases and add missing features:

- Convert JdbcMapperTest, JdbcTypeTest, MainTest and MutateTest to the
  new API.

- Add a new `cleanup` combinator for Actions, which generalizes
  `andFinally`. This allows more flexible cleanup actions (as required
  by `transactionally`) without using `asTry` (which cannot be used for
  streaming results).

- Add `updateStatement` method to get an update statement without
  having to supply a parameter.

- Add separate `StreamingDriverAction` type for streaming query results.
  This type provides methods `head` and `headOption` to efficiently
  get the first result of a streaming Action without streaming.

- Throw UnsupportedOperationException instead of NotImplementedError
  (via `???`) in some places because NotImplementedError is specifically
  excluded from `NonFatal`, causing Future- and Action-based code not to
  fail cleanly if you hit it.

- Make ignored follow-on errors more explicit.

- Add support for non-buffered streaming in JdbcBackend, which allows
  asynchronous processing of LOB values. Test in JdbcTypeTest.testBlob.

- Add support for mutable result sets to the new API. Test in
  MutateTest.

- Fix a bug in `transactionally`: Do not commit or rollback in nested
  `transactionally` Actions.