docs(tutorial/step-4): fix e2e test

After a protractor update the test syntax had to be changed.

Closes #7919
docs(ngMessages): correct a typo

Closes #7918
fix(Angular): nodeName should always be lowercase

XHTML uses lowercase node names, while HTML often uses uppercase.  The
generally accepted convention is to always lowercase them.

Fixes #3987
docs($provide): it is a service not an object

Closes #7917
fix(input): escape forward slash in email regexp

This messed up with syntax coloring and variable hovering in chrome developer tools and made debugging really difficult.

Closes #7938
docs(ngSrc): srcset used instead of src for img attribute

In `ngSrc` documentation `srcset` is used instead of `src` as `img` element attribute in the example.

Closes #7951
docs(ngModelController): update setValidity

Needs to be `$error[validationErrorKey]!=isValid` and not
`$error[validationErrorKey]=isValid`.

See https://github.com/angular/angular.js/blob/master/src/ng/directive/input.js#L1627

Closes #7934
docs(guide/compiler): change {{user}} to {{user.name}} in example

If user has an `actions` property, it should be an object,
which means if you {{user}}, it'll print out the object.
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
test($compile): check for memory leaks in nested transclusion
test($compile): check no memory leak with coexisting element transcludes

If an element contains two "element" transcludes then the initial clone
consists of only comment nodes.  The concern was that this meant that
the transclude scopes would not be cleaned up.

But it turns out that in the case that there are only comments then the
scope is never attached to anything so we don't need to worry about cleaning
it up.

Later if a concrete element is created as part of the transclude then these
elements will have destroy handlers.
fix(jqLite): don't attach event handlers to comments or text nodes

We were attaching handlers to comment nodes when setting up bound transclusion
functions. But we don't clean up comments and text nodes when deallocating so
there was a memory leak.

Closes #7913
Closes #7942