ENYO-591: Clean up DataList page assignment logic

NOTE: This pull request is dependent on the following Enyo PR:

https://github.com/enyojs/enyo/pull/951

We have recently had some issues (e.g. ENYO-575, BHV-18217) that
arose because DataList would sometimes assign invalid (negative)
page indices.

We made point fixes to address these specific issues (including
one fix that we knew was just a quickfix for a deeper issue), but
in the process it became apparent that some general cleanup in this
area would yield more understandable / maintainable code and
probably nip similar issues in the bud.

Most of this cleanup work was done in Enyo core, but doing so
allows us to remove a lot of code from Moonstone, which now
inherits its DataList and DataGridList delegates' scrollToIndex()
functionality almost entirely from core.

Enyo-DCO-1.1-Signed-Off-By: Gray Norton (gray.norton@lge.com)