add another test.
Replace PrepareStatementWithTailAsync with PrepareAllAsync. Simplify the core Use implementations upon deeper review of the underlying code showed the complexity was not necessary. Add test cases for cancelling Use calls.