update lattice finding & fitting in Grid.ipf

Major update to Grid.ipf, routines for finding the 2D lattice from a set
of fitted atom positions.  New methods for deriving lattice parameters,
adding basis atoms to the 2D unit cell, and refining the registration of
the lattice to the atom positions.  Mostly by Andy Yankovich.
add Voronoi cell segmentation of lattice images

routines for Voronoi cell segmentation of lattice images based on a set
of fitted positions.  Capabilities:
1. Find Voronoi cells from atom positions.
2. create a stack of mask waves to analyze each cell one at a time.
3. Apply the mask waves to calculate, e.g. the mean inside each cell for
a single image or an entire registered image stack.
Bugfix for PeakPositions

Modify PeakPositions to find the thresholded image in the current data
folder, not just the root data folder.
change SortGrid to eliminate false-positive matches

Modified SortGrid to eliminate return of atom fit positions when a
matching grid atom is not found.  Now returns NaN instead.
enable many basis atoms

Modify BasisParameters and CreateGridWithBasis to allow any number of
basis atoms, not just one.  The vectors from a lattice point to each
basis atom are stored in the columns of c_params.

Also fixed a fencepost error in the number of atoms in
CreateGridWithBasis and added EstimateVector to pre-calculate the inputs
to BasisParameters from the cursors on a grid.