* Add Lattice Method and Quasi-random Method to monte carlo integration

* Fix the "No-points in left/right half space" error in miser. Random
errors like that are discouraged in a library. The routine should
iterate over the dimensions choosing a point on each side of the
bisection to ensure that the error does not occur.

* VEGAS could estimate its roundoff error, caused by dividing up into
many boxes and then summing (I know this is ridiculous for any
realistic case, but it shows up on the tests when integrating a
constant!).  In particular, there are some failures reported for the
VEGAS constant tests on Windows.

* VEGAS gives a negative chisq for some cases where there are wildly
inconsistent values.  Calculation should be improved so that chisq>=0.

Also, when there are inconsistent values it might make sense to scale
the error by chisq, as is often done experimentally -- at least that
way the error would be increased.

* The original VEGAS allowed to user to calculate other weighted
quantities.  The appropriate way to implement it in GSL would be to
provide a separate routine which returns sample points and weights so
that the user can caculate any quantity.

