fix(sanitize): match URI schemes case-insensitively

According to RFC 3986 (http://tools.ietf.org/html/rfc3986#section-3.1)
schemes such as http or mailto are case-insensitive. So links such as
http://server/ and HTTP://server/ are valid and equivalent.

Closes #3210
fix(ngScenario): select().option(val) should prefer exact value match

With select(...).option(val) it previously would select the first node
which contains the value, even if an exact match was available.
This fix prefers exact matches if available, otherwise it reverts
to the previous 'contains' behaviour for backwards compatibility.

Closes #2856
feat($resource): support an unescaped URL port

The colon character is used to identify parameters in $resource.
This meant that we had to escape the colon used in a port.
It turns out that this is not necessary if we assume that parameter
names cannot consist of only digits.
If the parameter consists only of numbers, then it's a port.

Closes #2778
style(ngdocs): fix minor CSS issues
feat(Angular.js): skip JSON.stringify for undefined

Return early in `angular.toJson` if the object to be stringified is `undefined`.
IE8 stringifies `undefined` to `'undefined'` whereas other browsers return
`undefined`. This normalizes behavior and passes currently broken unit tests
in IE8.
chore(ngdoc): wrap all pages inside of a container tag for easy styling
fix($http): allow interceptors to completely override headers

Closes #2770
chore(package.json): fix name to work with latest NPM
fix(angular.equals): add support for regular expressions

Regular expression objects didn't used to be considered to be equal when using
'angular.equals'. Dirty checking therefore failed to recognize a
property modification.

Closes #2685
fix(grunt): cache version number

caching the version number speeds up the build and preserves resources.

this also fixed EMFILE error that now occurs on some macs.
style(ngMock): add missing whitespace
docs(di): promote registering controllers on modules
feat(ngPluralize): add alternative mapping using attributes

Add an alternative way to define a mapping for ng:pluralize using
attributes instead of the `when` attribute

Closes #2454
test($q): improve logging of callback invocations
feat($q): added support to promise notification

It is now possible to notify a promise through deferred.notify() method.
Notifications are useful to provide a way to send progress information
to promise holders.
chore(ngdocs): remove autofocus for the filtering search
chore(gitignore): add libpeerconnection.log

Google chrome (when tested using karma) spits out a log file called libpeerconnection.log
fix($animator): ensure animations are always disabled for an element that is not attached to the DOM
fix(writer): fix makeDir directory tree bug
test(utils): Adds a missing test for snake_case