title: $watch not being triggered on array change
body: <p>I'm trying to figure out why my <code>$watch</code> isn't being triggered.  This is a snippet from the relevant controller:</p>
  
  <pre><code>$scope.$watch('tasks', function (newValue, oldValue) {
      //do some stuff
      //only enters here once
      //newValue and oldValue are equal at that point
  });
  
  $scope.tasks = tasksService.tasks();
  
  $scope.addTask = function (taskCreationString) {
      tasksService.addTask(taskCreationString);//modifies tasks array
  };
  </code></pre>
  
  <p>On my view, <code>tasks</code> is clearly being updated correctly as I have its length bound like so:</p>
  
  <pre><code>&lt;span&gt;There are {{tasks.length}} total tasks&lt;/span&gt;
  </code></pre>
  
  <p>What am I missing?</p>