Routines to generate a random excitation and the associated pgen.
Routines to generate a random excitation and the associated pgen.

These are essentially extracted from the existing spawning routines.

The standard spawning procedure for k-space doesn't use this, at it's
more efficient to test whether or not the spawning event is successful
in that case before deciding exactly which excited determinant is
spawned onto.  (This is a special case in which the off-diagonal matrix
elements are of constant magnitude.)

The spawning procedure for real space does use the new routine.

These routines are required for folded spectrum excitation generators
and it's better not to just copy code unless really necessary...

Conflicts:

	src/spawning.F90

hande-qmc/hande,hande-qmc/hande,ruthfranklin/hande,hande-qmc/hande,hande-qmc/hande,hande-qmc/hande