title: ng-repeat with track by and filter and orderBy not working
body: <p>I have this code.</p>
  
  <p><a href="http://jsfiddle.net/0tgL7u6e/" rel="noreferrer">http://jsfiddle.net/0tgL7u6e/</a></p>
  
  <p><strong>JavaScript</strong></p>
  
  <pre><code>var myApp = angular.module('myApp',[]);
  
  function MyCtrl($scope) {
      $scope.nameFilter = '';
      $scope.contacts = [
          {name: 'GHI'},
          {name: 'DEF'},
          {name: 'ABC'},
          {name: 'JKL'}
      ];
  }
  </code></pre>
  
  <p><strong>View</strong></p>
  
  <pre><code>&lt;div ng-controller="MyCtrl"&gt;
      &lt;div&gt;&lt;input type="text" ng-model="nameFilter" placeholder="Search..." /&gt;&lt;/div&gt;
      &lt;p ng-repeat="contact in contacts track by $index | filter: nameFilter | orderBy: name"&gt;{{ contact.name }}&lt;/p&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>I don't know why the order is not working and why the filter is not working.</p>
  
  <p>At another question, I've read about something that objects can't be filtered or ordered. But I have an array of the objects above. Also, it should work!?</p>
  
  <p>What's the problem?</p>