title: UICollectionView items order not reversed in right to left languages
body: <p>I noticed a big issue where in right to left languages, the cells order is not properly reversed, only the alignment is correct. But only for horizontal flow layout, and if the collection view contain <strong>different cell sizes</strong>! Yes, I know this sound insane. If all the cells are the same size, the ordering and alignment is good!</p>
  
  <p>Here is what I got so far with a sample app (isolated to make sure this is the actual issue, and not something else):</p>
  
  <p>(First bar should always be drawn blue, then size increase with index.)
  <a href="https://i.stack.imgur.com/cDSQM.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/cDSQM.png" alt="enter image description here"></a></p>
  
  <p>Is this an internal bug in <code>UICollectionViewFlowLayout</code> (on iOS 11)? Or is there something obvious that I am missing?</p>
  
  <p>Here is my test code (Nothing fancy + XIB with <code>UICollectionView</code>):</p>
  
  <pre><code>public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -&gt; Int {
      return 6
  }
  
  public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -&gt; UICollectionViewCell {
      let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "test", for: indexPath)
      cell.backgroundColor = (indexPath.item == 0) ? UIColor.blue : UIColor.red
      return cell
  }
  
  public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -&gt; CGSize {
      return CGSize(width: (10 * indexPath.item) + 20, height: 170)
  }
  </code></pre>