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