Draconian thread-safety check for FMDatabase

People keep trying to call CBLDatabases on multiple threads and don’t understand the generic “database in use”
warnings. So I put in an explicit same-thread test that triggers an unblockable assertion failure with a very explicit
message about CBL thread safety.
Extended draconian thread-safety check to support dispatch queues.

If the CBLManager.dispatchQueue property has been set, databases will check for the
correct queue, _not_ the correct thread.