style(guide/css-styling): remove trailing whitespace

Pretty self-explanatory, no mystery here.
docs(guide/css-styling): form controls are not always input elements

People frequently write custom form controls using the `ngModel` directive, this just
refactors the text to be more clear that this is possible (imho).
test($interpolate): adding tests for watching $interpolate functions

Closes #10119
docs($compile): fix spelling

Closes #10296
docs(ngTransclude): improve markup consistency

Closes #10298
fix(orderBy): maintain order in array of objects when predicate is not provided

In ES262, there are two properties which are used to get a primitive value from an Object:

- valueOf() -- a method which returns a primitive value represented by the Object
- toString() -- a method which returns a string value representing the Object.

When comparing objects using relational operators, the abstract operation ToPrimitive(O, TypeHint) is used,
which will use these methods to retrieve a value.

This CL emulates the behaviour of ToPrimitive(), and ensures that no ordering occurs if the retrieved value
is identical.

This behaviour was previously used for Date objects, however it can be safely made generic as it applies to
all objects.

Closes #9566
Closes #9747
Closes #10311
fix(orderBy): make object-to-primtiive behaviour work for objects with null prototype
fix(parse): fix operators associativity

Make the operators `&&`, `==`, `!=`, `===`, `!==`, `<`, `>`, `<=`, `>=`
follow Javascript left-to-right associativity
fix(ngMock): allow numeric timeouts in $httpBackend mock

Fixes #4891
docs($location): improve $location.hash() example

Closes #10300
docs(select): Updated ngOptions track by examples

Made the example shown consistent with the advice above it regarding not using
`select as` and `track by` in the same comprehension expression.  Also changed
references to `trackexpr` to `track by` since `trackexpr` is not defined
except in the examples.

Added filter + track by example for ngOptions

The documentation for ngRepeat includes such an example specifying the proper
order for filters and and "track by" clauses in the comprehension expression,
but these docs for ngOptions do not.
chore(docs): fix jscs error

Removed a triling whitespace
fix(inputs): ignoring input events in IE caused by placeholder changes or focus/blur on inputs with placeholders

Closes #9265
fix(ngmodel): fixing many keys incorrectly marking inputs as dirty
fix($browser): prevent infinite digests when clearing the hash of a url

By using `location.hash` to update the current browser location when only
the hash has changed, we prevent the browser from attempting to reload.

Closes #9629
Closes #9635
Closes #10228
Closes #10308
fix($location): allow hash fragments with hashPrefix in hash-bang location urls

Previously if there was a hash fragment but no hashPrefix we would throw an error.
Now we assume that the hash-bang path is empty and that the hash is a valid fragment.

This prevents unnecessary exceptions where we clear the hashBang path, say by
navigating back to the base url, where the $browser leaves an empty hash symbol
on the URL to ensure there is no browser reload.

BREAKING CHANGE:

We no longer throw an `ihshprfx` error if the URL after the base path
contains only a hash fragment.  Previously, if the base URL was `http://abc.com/base/`
and the hashPrefix is `!` then trying to parse `http://abc.com/base/#some-fragment`
would have thrown an error. Now we simply assume it is a normal fragment and
that the path is empty, resulting `$location.absUrl() === "http://abc.com/base/#!/#some-fragment"`.

This should not break any applications, but you can no longer rely on receiving the
`ihshprfx` error for paths that have the syntax above. It is actually more similar
to what currently happens for invalid extra paths anyway:  If the base URL
and hashPrfix are set up as above, then `http://abc.com/base/other/path` does not
throw an error but just ignores the extra path: `http://abc.com/base`.

Closes #9629
Closes #9635
Closes #10228
Closes #10308
docs($location.ihshprfx): remove docs for unused error
WIP: run only unit tests on BS

WIP: inc no activity timeout

Let’s see if this is enough for IE10

WIP: disable protractor

WIP: only run the quick protractor tests

WIP: fix BS config: platform

WIP: start bs tunnel

WIP: a single shared bs tunnel for karma

WIP: bs tunnel identifier

WIP: protractor bs helper

WIP: try Karma with shared tunnel

WIP: stupid syntax

WIP: both karma/protractor unit

WIP: encrypt the bs key

WIP: omg

WIP: rev the key