Random.sample implemented

@subutai what do you think? This implementation may not be efficient when sampling a small number from a very large population but it has the potentially nice property of the selection being in the same order as the population.

Fixes #198.

See also numenta/nupic#1383
@scottpurdy: To help debug, I generally find it helpful to include the values of nChoices and nPopulation in the error message.