change the way Select works so that the user passes in the address of a destination slice instead of having Select return a new slice it creates;  more in line with how other go libraries work, and means no type casting in client code