Added process_prng to misc facilitate all acc.* functions now optionally taking a np.random.RandomState() object.  Passing of RandomStates allows for these functions to be correctly used in parallel runs, i.e.

When random methods are used inside multiprocessing calls (like map()) the random seed is normally inherited from the parent.  This means that each parallel process is using the exact same random numbers, making each parallel process completely redundant.  To correct for this RandomState() is called inside the processes, and passed around between stochastic functions (in a process) to ensure each is using the right seed.