Added wrapper-promise for blob detection feature

... to ensure that the ajax request is only called once even though there are multiple PouchDB instances on the page.

Discussion #2990
Would we not put the catch below? the promise will get reject by a throw and we can 

```
blobSupportPromise.then(function (val) {
  blobSupport = val;
  checkSetupComplete();
}).catch(function(err) { 
  blobSupport = val;
  checkSetupComplete();
});
```