Fix #418 deleteDatabase: blocking thread

* CBL_Shared's forgetDatabaseNamed: blocks CBLDatabase objects from closing when they receive DatabaseWillBeDeleted notification. Instead of doing sleep, calling runloop to spin to allow the other CBLDatabase objects to get closed.

* When closing CBLManager, closing all databases in the CBL_Shared object as well.
I used usleep instead of NSRunLoop intentionally. When using NSRunLoop to wait, other callbacks can run (timers or delayed performs), which can cause really weird bugs. In this situation it's a pretty low-level operation and I didn't want any other code to be able to get time on that thread while waiting for the db to close.
So please restore the usleep call and take out the runloop call below.