Fix: generated randoms in MCMC stochastic CL to match those in MCMC stochastic.

Previous fix to use non-python generated randoms messed the ordering
Use vector.data() instead of &vec[0]
Remove duplicated code
Missing virtual specs in MCMC stochastic
Fix some pow() inefficiencies still left in. Have options for OpenCL platform and device.
Merge branch 'master' into python-compatible-mcmc