Infrastructure for new eavlOperation developer paradigm and first operation.

So far, this includes a new map operation that can take any number
of inputs and any number of outputs.  No more 1-to-1 or 3-to-3 or 2-to-1
map operation will be needed.

Infrastructure for doing to includes a tuple, a tuple-of-references,
a new dispatch (which, again, is not specific to the number of inputs),
a method to collect a tuple of values from the input arrays, and a new
array indexing class.

I also made use of the new map operation in the unary math mutator.
I added a negate functor so it would build, but disabled the other
unary operations for now.
allowing const qualifier for input array tuples in operations.
fix to ensure const in op inputs are actually respected.
adding some const missing in const version of collect.
adding const reference version of get for reftuples.
removing old version of length for reftuples.
adding recenter test and adding recentering to normal test.
updating baselines to add recentered surface normals.
added new version of topologymap.

need to separate out the no-destination-topology-inputs version
from the version with both source- and destination-topology inputs,
and implement the latter.  (only fully implemented the former so far.)
Split topology map into three versions for different arg topology associations.
updating functors to new style.
small change to avoid temporary variable, hopefully a small speedup.
fix config site missing space in cxxflags.
adding topology info map op (replaces old cell-map op) and updating much of isosurface for new iterators.
Extending new operator dispatch to handle four arg groups.
new constructor for eavlIndexable for arrays on logical dims.
switching to new topology gather map op.
major overhaul for indexed map ops, got all ten gather/scatter/packed/sparse, and info/combined/simple map ops.
Merge branch 'master' of github.com:jsmeredith/EAVL
Adding CUDA versions of many new iterators, plus some cleanup.