added wrapper for gsl_ran_discrete_t using std::unique_ptr and a custom deleter.  No more need to worry about freeing the thing.