HY-1094: Fix ScrollBar Exceeding Viewport Top/Bottom

[JIRA](https://jira.webfilings.com/browse/HY-1094)

There are two ScrollBar bugs that this PR addresses.
* When the ScrollList is dragged above or below it's bounds, the ScrollBar also exceeded it's bounds.
* When the ScrollList was zoomed out such that the ScrollList was shorter than the viewport, the ScrollBar would become taller than the viewport.

Solutions
* The ScrollBar positioning is now bound between `0` and the height of the viewport minus the height of the ScrollBar.
* When the ScrollList is shorter than the viewport, the ScrollBar height is set to `0`, since it isn't necessary to scroll something that is already completely visible.

**Unit Tests**
-----
Check that the ScrollBar height is set to zero when the ScrollList is zoomed out far enough.

**How To +10/QA**
-----
```bash
# skip the following steps if you've already initialized the project
$ git clone git@github.com:WebFilings/wf-uicomponents.git
$ cd wf-uicomponents

# do not skip these!
$ git fetch && 
git checkout HY-1094 && 
./init.sh && 
grunt qa
```

* All tests should pass with no console errors
* In the ScrollList Demo, set the Fake Document to have 1 page. You should not see the ScrollBar. Zoom in, and the ScrollBar should appear.
* At the top or bottom of the page, click and drag so that the grey space above/below the ScrollList is visible. The ScrollBar should not move to overlap the header or footer.

---

Please review: @timmccall-wf @shanesizer-wf @lancefisher-wf 
FYA: @joshschlick-wf 
Can you be more explicit with the test name? From the code in this PR, it seems like this test is for when the height of the scrollbar is >= that of the viewport, and maybe that's what this spec is testing, but I can't tell.

Why the transform at the end? If that is just to reset the state of the tests, consider putting this spec in its own describe with beforeEach/afterEach to do that sort of cleanup (otherwise it's not guaranteed to happen).