scroll item to top

The ticket wanted to add 'top' as a location to place the viewport on an item-relative offset.  Since the previous function interface had only center as a property, we had to either add a separate property of top, or create something more generic, such as offset, with a anchor location specifying where to place the viewport.  For completeness, we added a bottom location, also.  The generic offset made for some confusion, as center can apply to both x and y, where top and bottom are y-only operations.  We don't really scroll horizontally right now, so we considered this acceptable tech debt.  Also confusing is the anchorlocation.  The rather verbose property of viewportAnchorLocation is to try to combat the common perception that the location applys to the item/page AND the viewport (or just the item.)  Read more in the WTF preventing comment in scrollToItem. :smile: 

Since the function name and interface changed, this is a breaking change.  I changed all the references in wf-uicomponents, but I know wf-js-viewer, at least, consumes this method.  I will need help coordinating the changes in that ( and other?) repos.

# How to QA/+10
```bash
grunt qa
```
1. Make sure all the unit tests pass.
2. Click the scrollList option under then Examples header.
3.. Run the commands below (and/or variations) in flow and single/flow mode, and make sure they go to the correct item and offset.  Make sure to try when scaled to fit and zoomed, too.
```javascript
scrollList.scrollToItem({index: 2, viewportAnchorLocation: 'top', offset: {x:100, y: 200}})
scrollList.scrollToItem({index: 2, viewportAnchorLocation: 'center', offset: {x:100, y: 200}})
scrollList.scrollToItem({index: 2, viewportAnchorLocation: 'bottom', offset: {x:100, y: 200}})
```

CR: @timmccall-wf @robbecker-wf @patkujawa-wf @lancefisher-wf @georgelesica-wf @todbachman-wf 
Not keen on having the author of every comment noted in the code. Can use git blame for that.