Computes index_impl() asynchronously on a separate thread.

def _async_index_impl(self):
    """Computes index_impl() asynchronously on a separate thread."""
    start = time.time()
    logger.info('TextPlugin computing index_impl() in a new thread')
    self._index_cached = self.index_impl()
    self._index_impl_thread = None
    self._index_impl_lock.release()
    elapsed = time.time() - start
    logger.info(
        'TextPlugin index_impl() thread ending after %0.3f sec', elapsed)