message: retry uploads if gaia hub config is invalid
diff: /* @flow */
  import {
  - getOrSetLocalGaiaHubConnection, getFullReadUrl,
  - connectToGaiaHub, uploadToGaiaHub, getBucketUrl,
  - BLOCKSTACK_GAIA_HUB_LABEL, type GaiaHubConfig
  + getOrSetLocalGaiaHubConnection, getFullReadUrl, setLocalGaiaHubConnection,
  + connectToGaiaHub, uploadToGaiaHub, getBucketUrl, BLOCKSTACK_GAIA_HUB_LABEL,
  + type GaiaHubConfig
  } from './hub'
  // export { type GaiaHubConfig } from './hub'
  @@ -414,10 +414,21 @@ export function putFile(path: string, content: string | Buffer, options?: {
  const signatureObject = signECDSA(privateKey, content)
  const signatureContent = JSON.stringify(signatureObject)
  return getOrSetLocalGaiaHubConnection()
  - .then(gaiaHubConfig => Promise.all([
  + .then(gaiaHubConfig => new Promise((resolve, reject) => Promise.all([
  uploadToGaiaHub(path, content, gaiaHubConfig, contentType),
  uploadToGaiaHub(`${path}${SIGNATURE_FILE_SUFFIX}`,
  - signatureContent, gaiaHubConfig, 'application/json')]))
  + signatureContent, gaiaHubConfig, 'application/json')
  + ])
  + .then(resolve)
  + .catch(() => {
  + setLocalGaiaHubConnection()
  + .then(freshHubConfig => Promise.all([
  + uploadToGaiaHub(path, content, freshHubConfig, contentType),
  + uploadToGaiaHub(`${path}${SIGNATURE_FILE_SUFFIX}`,
  + signatureContent, freshHubConfig, 'application/json')
  + ])
  + .then(resolve).catch(reject))
  + })))
  .then(fileUrls => fileUrls[0])
  }
  @@ -437,7 +448,15 @@ export function putFile(path: string, content: string | Buffer, options?: {
  contentType = 'application/json'
  }
  return getOrSetLocalGaiaHubConnection()
  - .then(gaiaHubConfig => uploadToGaiaHub(path, content, gaiaHubConfig, contentType))
  + .then(gaiaHubConfig => new Promise((resolve, reject) => {
  + uploadToGaiaHub(path, content, gaiaHubConfig, contentType)
  + .then(resolve)
  + .catch(() => {
  + setLocalGaiaHubConnection()
  + .then(freshHubConfig => uploadToGaiaHub(path, content, freshHubConfig, contentType)
  + .then(resolve).catch(reject))
  + })
  + }))
  }
  /**
  