Instantiate token when creating a PreparedStatement. Fixes bug where a Connection was seen as free while it still had a PreparedStatement for it.
Implement support for using rusql::Database in a multi-threaded environment.

As long as connections are not inappropriately shared between threads, and
rusql::Database::get_thread_handle() is used in every thread, this makes
librusql thread safe. Add a first test to verify this.