only open each datastore once

If I create two `Backbone.DropboxDatastore` with the same `datastoreId` synchronously, Backbone.dropboxDatastore attempts to connect twice, which causes the Dropbox SDK to print an error message. This patch uses promises to ensure that only one request is ever made to connect to a datastore.