create testutil package to help driver authors test drivers

testutil.TestRequireAPI will take the driver name and info and will
test the kvstore to ensure the driver implements the expected behavior
change driver api

now more similar to database/sql. a driver only has Open that
returns a Conn which have the real Get/Set/Delete. KVStore holds
a Conn, not a Driver.

Also add a Close method to KVStore and Conn.