refactor ionic.tap and start writing tests
chore(build): add angular-sanitize.js bundle's banner

Closes #1041
chore(build): only put one banner in css file
fix for .item-select
fix(tap): Deactivate elements during scroll at the same time click is ignored, #997

Previously I disabled the activation class immediately on a touchmove,
where as the click will still work if you touchstart and touchend
within a few pixels of each other. So visually it may have looked like
the click shouldn't have worked. I just updated it so the use the same
numbers. For example, if you hold down an item and move just 5 pixels,
the item will stay active (before it wouldn't have), and the click will
fire. But at the same time, if you hold down an item, and move a larger
distance, once it realizes that it went farther than 6 pixels it'll not
allow a click to happen, AND it'll not show the item as being active.
fix(navClear): be sure it runs before ngClick

Closes #1047
style(navClear): remove unused dependencies
refact(navClear): lower priority
refactor(ionList): more expressive, declarative (breaking change)

Closes #1024.

BREAKING CHANGE: ion-list syntax has changed in favor of simplicity &
flexibility.

Relevant documentation:
[ionList](http://ionicframework.com/docs/api/directive/ionList),
[ionItem](http://ionicframework.com/docs/api/directive/ionItem),
[ionOptionButton](http://ionicframework.com/docs/api/directive/ionOptionButton),
[ionReorderButton](http://ionicframework.com/docs/api/directive/ionReorderButton),
[ionDeleteButton](http://ionicframework.com/docs/api/directive/ionDeleteButton),
[$ionicListDelegate](http://ionicframework.com/docs/api/service/$ionicListDelegate).

To migrate, change your code from this:

```html
<ion-list option-buttons="[{text:'hello',type:'button-positive',onTap:tap()}]"
          on-delete="onDelete(el)"
          delete-icon="ion-minus-circled"
          can-delete="true"
          show-delete="shouldShowDelete"
          on-reorder="onReorder(el, startIndex, toIndex)"
          reorder-icon="ion-navicon"
          can-reorder="true"
          show-reorder="shouldShowReorder">
  <ion-item ng-repeat="item in items">
    {{item}}
  </ion-item>
</ion-list>
```

To this:

```html
<ion-list show-delete="shouldShowDelete"
          show-reorder="shouldShowReorder">
  <ion-item ng-repeat="item in items">
    {{item}}
    <ion-delete-button class="ion-minus-circled"
                       ng-click="onDelete(item)">
    </ion-delete-button>
    <ion-reorder-button class="ion-navicon"
                       ng-click="onReorder(item, $fromIndex, $toIndex)">
    </ion-reorder-button>
    <ion-option-button class="button-positive" ng-click="tap()">
      Hello
    </ion-option-button>
  </ion-item>
</ion-list>
```
Added support for align-items: stretch in grid

Now you can do:

```
<div class="row row-stretch">
    <div class="col">Very<br />Much<br />Text<br /></div>
    <div class="col">Short</div>
    <div class="col">Shrt</div>
</div>
```

All columns will have equal heights. Especially useful when 'simulating' tables with the grid system.
scss(popup): max-width 100% for huge content areas

Closes #1031
fix(tap): Prevent clicks from firing after scrolling, #579
feat(grid): Added .row-baseline and .row-stretch
Merge pull request #1050 from driftyco/pr/1049

feat(grid): Added .row-baseline and .row-stretch
fix(checkbox): stretch checkbox's clickable area to full width
Merge pull request #1053 from driftyco/pr/1049

fix(checkbox): stretch checkbox's clickable area to full width
Add travis integration for Slack
.item-select cursor: pointer
bower: change version to ^1.2.12
docs(platform): Explain ionic.Platform.ready() further