chore(): remove console.log
fix(history): tabs lose history after switching tabs

It was possible that when switching between tabs, and creating a
navigation history in one of the tabs, then switching tabs again, it
could clear out the individual tab stacks under certain scenarios.
Closes #1978
style(tabs): fix typo
feat(cordovaEvents): $ionicPlatform.on method

Create $ionicPlatform.on(type, callback) to make it easier to add
Cordova event listeners. Closes #2219
docs(ion-list): include list types
fix(titles): error during quick transition changes
test(titles): fix broken test
feat(angular): upgrade to AngularJS v1.2.24
feat(refresher): Improve refresher animation. Allow pulling icon rotation to be disabled.
Correctly handle DOM Ready states

Previously, if the script was loaded while in `document.readyState` of `interactive`, the `domReady` function is never called.

See https://developer.mozilla.org/en-US/docs/Web/API/document.readyState for explanation of the proper detection of `DOMContentLoaded`
Correctly handle window loaded states

Previously if this script was executed after the window was loaded, none of the callbacks would fire.

See https://developer.mozilla.org/en-US/docs/Web/API/document.readyState for definition of detecting the `load` event.

TODO: Potentially this is redundent, since maybe using `ionic.DomUtil.ready` would mean one less listener.  However I don't know if the listeners attached to `ionic.Platform.ready` require the `document.readyState` to be `complete` rather than only `interactive`.

Linked to #2229
Merge pull request #2229 from chaffeqa/patch-1

fix(ready): correctly handle DOM Ready states
Merge pull request #2230 from chaffeqa/patch-2

fix(load): correctly handle window loaded states
amend(refresher): fix for if height is unknowable, and earlier commit changes lost in scrollView
Merge branch 'master' of github.com:driftyco/ionic
fix(nav): prevent flickers between views

By default the scroll bar is being created for each view, then
immediately it adds the .scroll-bar-fade-out class. On every transition
you sometimes saw the scroll bar appear then fade away quickly. Sure
that was annoying and has been fixed to prevent that, but the real
issue is that on every view transition, the scroll bar’s opacity
transition fired off a transitionend event, which bubbled up to the
view and messed with Angular’s $animate. If timed out correctly, at the
time the scroll bar’s transitionend event bubbled up, and an element
was actively leaving the view, it would confuse $animate and cause the
leave animation to abruptly end, which caused an ugly flicker.
Update gesture.js

Make this document more findable via a common search phrase -- "long touch"
Merge pull request #2236 from timothynott/patch-1

docs(gesture): include the term "long touch"
feat(angular): upgrade to AngularJS v1.2.25
Update infiniteScroll.js

Seems like it should be $stateChangeSuccess instead of stateChangeSuccess