text: Title: sklearn_api `transform()` methods not compatible with generators
  Body: Example (from [TfidfTransformer](https://github.com/RaRe-Technologies/gensim/blob/b3b844e32cf03c28e58586cbd8b66d288d41758d/gensim/sklearn_api/tfidf.py#L157))
  
  ```python
  if isinstance(docs[0], tuple):
      docs = [docs]
  return [self.gensim_model[doc] for doc in docs]
  ```
  
  This method expects a list of tuples, instead of an iterable. This means that the entire corpus has to be stored as a list in memory, instead of just the TFIDF matrix produced at the end. This is unfeasible for large datasets.
  
  Why do we need to create a list from `docs`, instead of just doing:
  ```python
  return (self.gensim_model[doc] for doc in docs)
  ```