Implement the 'samples' method of Distribution using the alias method

This PR implements the `samples` method of `Distribution` using the alias method as described [here](http://www.keithschwarz.com/darts-dice-coins/).