Added earl correction of select behaviour

Currently SELECT ignores what type of value was used for selection, and
always returns the second value from the start of the match. This
behaviour is correct when selecting with atomic values:

>> select [1 2 3 4] 1
== 2

But breaks when selecting with compound values:

>> select [1 2 3 4] [1 2]
== 2  ; Expected: 3

>> select "1234" "12"
== #"2"  ; Expected: #"3"

This commit fixes the incorrect calculation of the offset of the value
to be returned by taking the length of the match value into account.

This fixes CureCode issue 1936.