Fix compiler warnings.

Mostly about shadowed variables.  Also encountered unused arguments and
signed/unsigned comparison.
Use const ref for constant arguments.

Allows you to use constant or temporary variables as arguments but also
allows the objects to be passed without copy.  It is also a compiler
check to make sure that you are not modifying objects you should not be.
Make generate interpolated cells work with non-default device adapters.

Previously there was some code in SchedulerGnerateInterpolatedCells that
created an internal ArrayHandle that used a default array container and
device adapter.  This could cause an error when used instantiated under
a device adapter that is not set as default (or compiled with different
defaults) or an output grid with a different container.  This fixes that
problem.

Also changed the Marching Cubes unit test to make the error container
and device adapter defaults and specify a custom one to catch errors
like this.
Merge branch 'random-fixes'

Some random stuff I added while on a plane.
Better alignment, unroll tips, less recursive templates.