chore(bower): update to latest ng-closure-runner

This version does correct URL encoding of string parameters in the
production minErr asset code.
chore(bower): upgrade bower to 1.0.0

We explicitly set the Bower install directory to components/ for
compatibility with our existing code base. Recent Bower prefers
bower_components/.
fix(bower): update bower usage and resources

Changes:
- Fix our old code to use bower_components/ as the install dir
- Fix the Bootstrap asset to use github.com/twbs/bootstrap (it moved)
- Fail the build on Bower failure. Bower should not fail silently.
fix(ngdocs): make jsFiddle and Plunkr links work with external AngularJS modules
chore(ngdocs): fixed jsFiddle/Plunkr examples to include ngAnimate and use a default App the module is not set
fix(ngClass): ensure ngClass doesn't fire addClass or removeClass with an empty string

If ngClass fires off an add- or removeClass whilst the opposite animation is going on then
the animation will be skipped. The default behavior of ngClass was executing remoteClass
with an empty string while addClass had just fired. This commit fixes that bug.
chore(ngdocs): all animation-supported directives working with docs examples and jsFiddle/Plunkr pages
chore(bower): update to bower 1.0.3
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.
feat($compile): support multi-elements in all declaration styles

I've built on the work of #2783 to make multi-elements possible in all
directive decralation styles.
Basically #2783 was limited to directives declared via attributes.
With this commit, appending X-start and X-end would work
in Comments, Attributes, ClassNames and ElementNames
```html
<table>
  <!-- directive: ng-repeat-start item in list -->
    <tr>If ngRepeat's 'restrict' get changed to include 'M'</tr>
    <tr>I get repeated</tr>
  <!-- ng-repeat-end -->
</table>
```
chore($compile): added missing semi-colons and removed unused variable
docs($compile): Added docs for new $compile errors
test($compile): add tests for multi-elements in all declaration styles