docs(error): improve the cacheFactory/iid.ngdoc
chore(bower): write grunt task for running bower
feat(directive): support as instance syntax

Support controller: 'MyController as my' syntax for directives which publishes
the controller instance to the directive scope.

Support controllerAs syntax to define an alias to the controller within the
directive scope.
feat(directive): support as instance syntax

Support controller: 'MyController as my' syntax for directives which publishes
the controller instance to the directive scope.

Support controllerAs syntax to define an alias to the controller within the
directive scope.
fix(isArrayLike) Correctly detect arrayLike items

Change the implementation of isArrayLike to use one heavily based on the
implementation in jQuery in order to correctly detect array-like
objects, that way functionality like ngRepeat works as expected.
docs(header): replace logo.png with logo.svg

The current logo looks awful on high-density displays.  SVG is a
better choice because it can scale to any resolution without
increasing file size.

Amending #2775 to add support for IE 8 by falling back to existing PNG
with img.onerror

Using relative URLs as directed by @btford and @petebacondarwin.

(commit by Brenton Simpson - @appsforartists)

Closes #2874
fix(resource): check whether response matches action.isArray

When using $resource you must setup your actions carefully based on what the server returns.
If the server responds to a request with an array then you must configure the action with
`isArray:true` and vice versa.  The built-in `get` action defaults to `isArray:false` and the
`query` action defaults to `isArray:true`, which is must be changed if the server does not do this.
Before the error message was an exception inside angular.copy, which didn't explain what the
real problem was. Rather than changing the way that angular.copy works, this change ensures that
a better error message is provided to the programmer if they do not set up their resource actions
correctly.

Closes #2255, #1044
fix($q): call `reject()` even if `$exceptionHandler` rethrows

Normally $exceptionHandler doesn't throw an exception.  It is normally
used just for logging and so on.  But if an application developer
implemented a version that did throw an exception then $q would never
have called reject() when converting an exception thrown inside a `then`
handler into a rejected promise.
fix(mock.$log): keep in sync with $log

Closes #2343
fix(jqLite): support space-seperated events in off

Closes #3256
style($sce): remove unreachable return statement
chore(travis): print grunt exit code for debugging
feat(scenario): expose jQuery for usage outside of angular scenario

The global jQuery reference is removed by angular scenario and only a local scoped reference is kept. To make jQuery available for other code, a new reference angular.scenario.jQuery is added.
fix(mobile-ng-click): prevent unwanted opening of the soft keyboard

Ghost clicks are busted but the corresponding form elements are still focused. This means that for example on smartphones the soft keyboard will be opened. This pull request prevents the unwanted opening of the soft keyboard.
fix($parse): unwrap promise when setting a field

This fixes an inconsistency where you can't call the setter function
when the expression resolves to a top level field name on a promise.

Setting a field on an unresolved promise will throw an exception.  (This
shouldn't really happen in your template/js code and points to a
programming error.)

Closes #1827
fix(location): fix parameter handling on search()
fix(docs): handle the empty string in errorDisplay
fix(ngMock): keep withCredentials on passThrough

When using passThrough() and specifying withCredentials on the $http
call, the option is now passed to the underlying $httpBackend.
docs(compile/iscp): description for compile/iscp error
chore(ngMock): rename $animate.process to $animate.flushNext()