Developing new gauge packer routines.
Added comments about using traits to simplify template instantiation for blas kernels.
Moved pointer getting and setter methods in GaugeField to allow for abstraction.
Minor formatting change to checkGauge
Fixed bug in compare_mom in test_util.cpp
Moved LinkMax() into GaugeField for GPU/CPU abstraction.
Fixed field ordering bug in hisq_paths_force_test.cpp
fat_link_max has default value 1.0
Implemented new packing engine for gauge fields.  Full support for all precisions, ordering and reconstructions types, but multi-GPU not yet supported.
Added virtual Ghost() method to GaugeField()
Added new SurfaceCB() pointer fetch method to LatticeField
Added (untested) ghost-zone copying using template engine for gauge fields.
New gauge ghost zone repacking routines working.  Removed old pack_gauge.h file and renamed replaced to pack_gauge.h.  Deleted redundent code in cuda_gauge_field.cu.
Further cleanup of cuda_gauge_field.cu
Added Nface getter method to GaugeField
Fixed bugs in multi-GPU packGauge support.
Minor fixes/cleanup
Removed old packGauge routine from cpu_gauge_field.cu and replaced with new templated engine approach in pack_gauge.h.  No support yet for FloatNOrdered fields.
Cleanup of cpu_gauge_field.cpp.
Cleanup of cpu_Gauge_field.cu