Mobius type Domain wall dslash operator is implemented
unnecessary data communications are removed.
Mobius dslash performance is enhanced

Signed-off-by: Hyung-Jin Kim <hjkim@bnl.gov>
MDWF test program and pythone dslash generator is updated
correct the errors in python generator
Moved ColorSpinorField::siteSubset to LatticeField::siteSubset.  Started to move FaceBuffer functionality into LatticeField (and its derived classes): communications buffers are created/destroyed with LAtticeField::createComms()/LatticeField::destroyComms().  Implemeneted pack, gather, scatter, commsStart and commsQuery in cudaColorSpinorField.
Created alternative dslashCuda2 that uses cudaColorSpinorField communication instead of FaceBuffer routines.
Generalized pack spinor interface to deal with all twisted mass fermions.
Added experimental support for direct GPU communication from cudaColorSpinorFields (half precision not yet supported).
Added support for direct GPU communication for Wilson and improved staggered fermions.
Always use kernel pack interface functions rather than direct access.
Always enabled kernel packing if using direct GPU communication.
Added strided send/receive message handle creation types for all communication back ends.
Added support for non-kernel packing in the T dimension for direct GPU communication, though performance is awful due to how MPI implements the underlying strided unpacking (at least on MVAPICH2).
Added support for setting number of iterations from command line for staggered_dslash_test.
Added support for naive staggered operator (QudaDiracType::QUDA_STAGGERED_DIRAC and QudaDslashType::QUDA_STAGGERED_DSLASH).  Only supports single GPU and no reconstruction support.
Added support for naive staggered fermions in staggered_dslash_test.cpp.
Correct flop count for DiracStaggered
Added naive staggered support to staggered_invert_test and small cleanup to tests for naive staggered.
Added support for multi-gpu naive staggered dslash (half precision not working).  This is presently extremely hacking owing to the requirement that the number of faces has be known for memory allocation before the Dirac operator is declared.  As a result, enabling staggered support has the effect of disabling improved staggered support (this will be fixed).
Enabling GPU_COMMS is now configure-time option.