Fix value returned by SELECT with a series argument

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.
Merge pull request #74 from earl/fix-select-series

Fix value returned by SELECT with a series argument