Add sampling

Implement exact sampling algorithm. Works up to about 6 photons,
36 modes. 7,49 is way too big (estimated 14 hours to generate cdf).

Fix bug in Ryser's algorithm implementation. Now agrees with naive
so both deemed correct.

Move specialised function matrix<complex<double> > haar into separate
.cc file to avoid multiple definition errors.