CreateGridWithBasis updates

bugfix in the number of atoms for CreateGridWithBasis.

changed centering behavior for created grid.  Previous behavior was to
match the grid to the atom closest to (0, 0).  Now the grid is shifted
so it's center is the same as the center of the x0, y0 atom list, then
shifted again to match up exactly the closest positions in the two
lists.  This behavior DOES NOT WORK for complicated atom bases.
added CreateGridFromPoint

add CreateGridFromPoint.  Creates a 2D lattice with basis starting from
a specified point.  Useful as a replacement for CreateGridWithBasis for
complicated lattices.

bugfix in SortGrid for generated lattices that are larger than the list
of fitted atom positions.
ignore NaNs in PeakPositions

modified PeakPositions to ignore NaNs in the input image using a ROI
wave.  NaNs can be used to mark parts of the input image where there is
no data.

Also added some additional deletion of internal processing waves.  This
change may break some of the other functions.  I didn't test it
thoroughly.
added TruncateGrid

added function TruncateGrid which takes a large grid generated by e.g.
CreateGridFromPoint and cuts it down to fit inside a rectangular box (an
image).
removed unnecessary argument to MakeAllMasks

remove unused M_VoronoiEdges argument to MakeAllMasks.