fix(scenario): don't trigger input events on IE9

input.enter() should trigger 'change' rather than 'input' event on IE9 because
input events on IE9 are broken and angular doesn't rely on them
chore(Rakefile): generate version.json

Changes 'rake version' to output a version.json file which
contains the structured version info which can be used in other tools.
chore(Rakefile): remove a duplicate file in angularFiles.js
fix(ngRepeat): correctly apply $last if repeating over object

If the $last property is calculated from the original collectionLength
on an object and properties starting with $ were filtered out, then $last
is never applied and $middle is applied erroniously.

Closes #1789
fix($compile): do not wrap empty root text nodes in spans

Closes #1059
chore(docs): use done() instead of end() in gen-docs.js
chore(Rakefile): force 32bit JVM mode only when java supports it

Some Java installs don't have '-d32' flag (e.g. OpenJDK which is standard
for some Linux systems), and the closure_compile fails because of forcing
that flag. Test, and only run in faster 32bit mode if supported, or
else just run with no flag (default mode).
docs(guide): minor grammar fixes
feat($log): add $log.debug()

New debug() method with suppressable output via
$logProvider.debugEnabled()

Closes #1592
docs: recommend using Google CDN
fix(angular.equals): consistently compare undefined object props

previously:

a = {};
b = {x:undefined};
angular.equals(a, b) == angular.equals(b, a) // returns false.

both should return false because these objects are not equal.

unlike in implemented in #1695 the comparison should be stricter
and return false not true. if we need to relax this in the future
we can always do so.

Closes #1648
doc(guide): Fix examples of $location.html5mode
doc(guide): Fixed typos at the unit tests guide
docs(ngMock.$httpBackend): fix variable declaration
docs(guide): change prototype methods to scope methods in DI examples

As explained in 'Understanding the Controller Component', Controllers
written for new (post 1.0 RC) versions of Angular need to add methods to
the scope directly, not the function's prototype. Correcting this
example should remove any ambiguity, especially for beginners.
docs(cookbook): change prototype methods to scope methods in Buzz

As explained in 'Understanding the Controller Component', Controllers
written for new (post 1.0 RC) versions of Angular need to add methods to
the scope directly, not the function's prototype. Correcting this
example should remove any ambiguity, especially for beginners.
docs(rootScope): correct code examples
feat($parse): allow strict equality in angular expressions

Allows the parser to parse strict equality and inequality
in angular expressions.

Closes #908
docs(exceptionHandler): document testing

Update src/ng/exceptionHandler.js

Here's an iniitla attempt at documenting how one might write a
test using $exceptionHandlerProvider. The key take-away is the use
of this pattern:

it(...

 module(...
   $exceptionHandlerProvider.mode('log');
 });

 inject(...
 );

});
feat(ngResource): support all $http.config actions

This allows the transformation of the $http request in both directions,
headers, caching, and timeout.