Implemented aux array copying

Some major changes.  Requires PR clawpack/amrclaw#100

When regridding, aux arrays can be copied if a grid overlaps with grids at the same level from the previous time step. In setaux routine,  check if aux(1,i,j) has the special value NEEDS_TO_BE_SET from the amr_module and only set the values aux(:,i,j) in this case. Otherwise, can assume aux(:,i,j) for this (i,j) cell has been properly copied and is already set.  Useful in geoclaw since computing the aux values requires integrating over topo grids and can be very expensive.

Modified fgmax_read to read point_style and then read all points only if this is 0.  If point_style==1 then endpoints of a 1d transect are specified.  If point_style==2 then corners of a grid are specified.  Avoids big files with all points when they are uniformly spaced.

Replaced fgmax_interpolate.f90 by two variants for degree 0 or 1 interpolation:
fgmax_interpolate0.f90 determines what grid cell a fgmax grid point lies in and just takes this cell value,
fgmax_interpolate1.f90 does the previous bilinear interpolation, which has problems when interpolating h near the shore.  Makefiles change correspondingly.

Changed fgmax_values.f90 so first value stored is maximum of h, not "eta tilde" as before.  Suggest using fgmax_interpolate0.f90 with this.

Added src/python/geoclaw/kmltools.py to output kml files for regions and gauges that can be viewed directly on Google Earth.

Various other bug fixes...