fix(testabilityPatch): fix invocations of angular.mock.dump
chore(travis): declare Node.js version as '0.10', not 0.10 (which is 0.1)
fix($injector): check if a fn is an array explicitly

This change makes the code easier to read and also fixes a compatibility issue
with opal.js which pollutes the global state by setting $inject property on
Array prototype

Closes #7904
Closes #2653
fix(jqLite): convert NodeList to an Array to make PhantomJS 1.x happy

Closes #7851
fix(numberFilter): correctly round fractions despite floating-point arithmetics issues in JS

Closes #7870
Closes #7878
feat(NgModel): port the URL input type to use the validators pipeline
feat(NgModel): port the email input type to use the validators pipeline
test(input): test that input[email"] and ngRequired don't interfere w/ eachother

ngRequired added to an email field wasn't working properly. ng-invalid-required
stayed true unless a valid email was entered.

correct behaviour is that it turns to ng-valid-required at first entered key.

Closes #7849
fix(input): improve html5 validation support

This CL improves mocking support for HTML5 validation, and ensures that it works correctly along
with debounced commission of view values.

Closes #7936
Closes #7937
fix(ngModel): test & update correct model when running $validate

If `$validate` is invoked when the model is already invalid, `$validate` should pass `$$invalidModelValue` to the validators, not `$modelValue`. More over, if the model has become valid, the previously invalid model should be assigned to `$modelValue`. Lastly, in case the model has become invalid, the previously valid model should be assigned to `$$invalidModelValue`.

Closes #7836