Add support for the extra parameter on the sqlite3_set_authorizer() callback
and support for failing an ATTACH with an authentication-required database
using bad credentials.  The extension is now feature complete, but much
testing and bug-fixing remains.
Move user authentication blocking from sqlite3_prepare() over to the
table lock generator, thus allowing SQL statements (like 
"PRAGMA locking_mode") that do not touch database content to run
prior to authentication.
Fix the sqlite3_user_change() interface so that it does allow a
non-admin user to change their own password.
Get the sqlite3_user_delete() interface working.
All interfaces working and tested.
Enhance the sqlite3_user_add() interface to initialize the user
authentication logic.  Add test cases for the extra argument on the
end of the authorizer callback.
Suppress the potential schema error that occurs when a non-user-auth
SQLite library tries to parse the sqlite_user table definition in a
user-auth database.
Clean up some #includes in the extension API implementation.