An IndexedDb API wrapper using Q.js Promises