ENYO-591: Clean up DataList page assignment logic

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)
ENYO-591: Using simpler method to override scrollToControl

Simplifying the manner in which DataList delegates override
scrollToControl() functionality.

Enyo-DCO-1.1-Signed-Off-By: Gray Norton (gray.norton@lge.com)
Merge pull request #1820 from enyojs/ENYO-591-graynorton

ENYO-591: Clean up DataList page assignment logic

Reviewed-By: Ryan Duffy (ryan.duffy@lge.com)
Integrated-By: Aaron Tam (aaron.tam@lge.com)