Add OnStickyHeaderScrollOffsetChangedListener, allowing header appearance changes based on scroll position.

@emilsjolander, we have a design where the header is larger and contains supplementary info when it sits inline with the list view items, but when it hits the top sticky position it should resize down and fade out the supplementary info. This PR adds OnStickyHeaderScrollOffsetChangedListener to let consumers make these kind of updates. Demo:

![sticky-scroll-resize](https://cloud.githubusercontent.com/assets/631074/3320520/35b6d40a-f72b-11e3-9189-aa4eafb0d33c.gif)

Let me know what you think, particularly whether this messes up anything with the way the header views are measured and recycled.

Also some tools version updates as separate commits. I can remove these from the PR if you want.

@markrietveld FYI.
Why does `updateHeaderScrollOffsets()` need to set `mHeader`?