Use std::tuple in for-loop with multiple counters
Use std::tuple in for-loop with multiple counters

This is a C++17 feature, however I think all our "min" compilers
should support it, since they support the same thing for range-based
for-loops. Note that we can also declare the loop-end variable in the
same tuple.  This way there are no non-local loop counters/iterators
that survive beyond the scope of the loop. This further lets us get
rid of one extra layer of scope.

dschwen/libmesh,dschwen/libmesh,jwpeterson/libmesh,libMesh/libmesh,jwpeterson/libmesh,jwpeterson/libmesh,libMesh/libmesh,dschwen/libmesh,libMesh/libmesh,jwpeterson/libmesh,libMesh/libmesh,dschwen/libmesh,libMesh/libmesh,libMesh/libmesh,jwpeterson/libmesh,jwpeterson/libmesh,dschwen/libmesh,libMesh/libmesh,dschwen/libmesh,dschwen/libmesh,jwpeterson/libmesh,libMesh/libmesh,dschwen/libmesh,jwpeterson/libmesh