Improve affix-bottom behavior when document height is dynamic

Hi, again!

This builds off of #13392 to make it so that an affixed element that relies on a bottom offset behave normally when there are changes that cause the document height to fluctuate.

Before:
 - [Preview](http://embed.plnkr.co/ycevC4uWnoySq1UAhyYv/preview)
 - [Code](http://plnkr.co/edit/ycevC4uWnoySq1UAhyYv)

After:
  - [Preview](http://embed.plnkr.co/JXNbNHrt364mps0Pkfpt/preview)
  - [Code](http://plnkr.co/edit/JXNbNHrt364mps0Pkfpt)

Determining the affix state is bundled into a separate method for correctness and so that it's slightly easier to understand (you can find an outline of how I understood the logic in the README for one of my plunks). Also, an element whose affix is determined to be `'bottom'` always has its offset set (instead of just bailing out when it has been determined that the affix hasn't changed). This is so that if the document height changes that the affix-bottom element ends up in the right place when the next `checkPosition` occurs.

Please check out the demo to get a sense of what I'm talking about. Change the document height with `+` and `-` and watch how the bottom affix toggles between `affix` and `affix-bottom` on master, but not on my branch. I've also checked how these changes affect the affix used in the bootstrap docs by building them locally and it all looks good on my end.

Thanks! Any feedback is appreciated. :smile:
From what I understood, the use case for `unpin` was designed around affix elements that would mainly be affixed to the top of the page (`affix-top`) or to the top of the viewport (`affix`). In that case, when the affix element is affixed to the bottom and the window is being scrolled up, you don't to want to affix the element until the top of the viewport has scrolled past the top of the affix element.

In the docs, for instance...
![this_is_my](https://cloud.githubusercontent.com/assets/4823640/3462550/9b3bfefa-022e-11e4-8bd1-0bd9f8a13caa.gif)

 The use case I was trying to achieve is different, however. I needed the affix to always be affixed to the bottom of the page (`affix-bottom`) or to the bottom of the viewport (`affix`). In this case, it should become affixed to the viewport as soon as the bottom of the viewport has scrolled to the bottom of the affixed element.

In my test, for instance:
![this_is_my](https://cloud.githubusercontent.com/assets/4823640/3462609/50e25466-022f-11e4-8b40-6c6e3c087411.gif)