title: Shouldn't i18next wait for language detection result before loading fallback language
body: <p>I use <a href="https://github.com/i18next/react-i18next/tree/master/example/react" rel="nofollow noreferrer">react-i18next example</a> as a base.
  I replaced 'i18next-browser-languagedetector' by custom language detector:</p>
  
  <pre><code>class MyLanguageDetector {
    constructor(services, options = {}) {
      this.async = true;
      this.init(services, options);
    }
  
    init(services, options = {}, i18nOptions = {}) {  }
  
    detect(callback) {
      setTimeout(() =&gt; {
        callback('de')
      }, 5000);
    }
  
    cacheUserLanguage(lng, caches) {  }
  }
  
  MyLanguageDetector.type = 'languageDetector';
  </code></pre>
  
  <p>Config:</p>
  
  <pre><code>i18n
    .use(MyLanguageDetector)
    .use(Backend)
    .use(reactI18nextModule)
  
    .init({
      fallbackLng: 'en',
      debug: true,
  
      interpolation: { escapeValue: false },
  
      react: { wait: true }
    });
  </code></pre>
  
  <p>What I see is:</p>
  
  <pre><code>i18next::backendConnector: loaded namespace translation for language en
  </code></pre>
  
  <p>and after ~5 seconds:</p>
  
  <pre><code>i18next::backendConnector: loaded namespace translation for language de
  </code></pre>
  
  <p>I expected that 'en' won't be loaded since detected language is 'de'</p>