Catch any exceptions from native indexeddb.open()

- convert to a rejection of the deferred
Catch exceptions during schema setup

- schema setup isn't yet implemented, but since it deals with user-
  supplied data, catch all exceptions so they can be translated
  to deferred obj rejections
IndexedDb.open() now returns DB promise to open the DB
support delete operation

- known to not pass tests