Rng for the Task struct to provide local, fast psuedorandom number generation in tasks

This adds an XorShiftRng to the Task struct which allows easy psuedorandom number generation inside a task context.