title: AngularJS validity not reset once $setValidity called
body: <p>I have this element:</p>
  
  <pre><code>&lt;input type="text" name="azurerepo" 
      ng-model="item.azurerepo" 
      ng-class="{error: myForm.azurerepo.$invalid}" 
      ng-required="item.deploymentType=='azure'" 
      ui-event="{ blur : 'azureCallback()' }" /&gt;
  </code></pre>
  
  <p>The callback does:</p>
  
  <pre><code>$scope.myForm.azurerepo.$setValidity('azurerepo',false);
  </code></pre>
  
  <p>If I type data and come out of the input it sets it invalid.</p>
  
  <p>If I go back into the input, backspace all the entered data and then type something its still invalid! I would expect it to be valid now because data has been typed in.</p>