Bugfix: Promise.resolve() didnt return a value

Also:
* As documented in wiki, getDatabaseNames() now resolves with a standard
javascript Array<String> instead of DOMStringList.
* Database names list is updated when successfully opening a database
(not only when creating it).
Removing unnescessary vip()

Also:
* Catching "ConstraingError" instead of DOMException when trying to do
table.add() in Dexie.Syncable (just a little unnescessary correctness)