CompactPointField uses internal interpolation weights

Rather than send the interpolation weights to
DispatcherGenerateInterpolatedCells::CompactPointField explicitly, this
method now uses the InterpolationWeights array held by the object. This
lets you use this method externally to interpolate general fields from
input to output.
Enable interpolation of general fields.

Change template for CompactPointField to accept a field of any base
type. Also add to the marching cubes test to make sure fields get
interpolated correctly.
Merge branch 'interpolate-mc-fields'