insert hp sampling before ESS, refactored compact vs expanded kernel, moved functions out of learn_predict, remove useless memoization, make hp sampler use read_randoms