Update create_ci_determ_space so that dets from other processors are filtered out
Update create_ci_determ_space so that dets from other processors are filtered out

Only pass determinants from this processor to dets_this_proc.

Other changes:

- The interface to create_ci_determ_space has been reordered
a bit to be consistent with other deterministic space creation routines.

- I no longer use the determ%dets array straight away in create_ci_determ_space,
but instead use a new array, determ_dets. As suggested in James' TODO comment
(removed), the original plan was to not do extra communication in init_semi_stoch_t,
as create_ci_determ_space already creates the entire deterministic space on each process.
However, the order of the determinants in determ%dets is important: the states should
be order by their process label. We could do this without communication, but that
would require extra routines and more logic in init_semi_stoch_t. It's only a one-off
cost, and I'd like to keep the logic clear, so I just decided to do the communication
of deterministic states as usual in init_semi_stoch_t.

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