SWIG interface update for Random methods sample and shuffle.

See numenta/nupic.core#197
This is specific to the Python C API. I am a little unsure of the exact mechanics but I can explain (preferably in person) why I am doing this here. In short, it is because I am returning the object that is passed in, meaning the calling scope will have two references to it. Without this call, when the calling scope exits it will attempt to deref `choices` twice, causing a segfault.