fix(select): make ngOptions support selectAs and trackBy together

This commit implements a function, "getSelected()", that takes the
selectAs expression into account when determining if a particular
option is selected or not. Previously, the selectAs part of the
ngOptions comprehension expression was being ignored.

Fixes #6564
Actually requires adding selectAsFn, trackFn, scope, multiple