support parameterized queries and prepared statements

Add support for arguments to the custom query function.

Refactored stmt so it can be used to stub prepared statements.

Made the type of the first return value of conn.execFunc consistent with
conn.queryFunc: changed its type from sql.Result to driver.Result.

Satisfy driver.Queryer in conn.