suzerain: simplify enable_if dispatching

Done towards getting gcc/4.8 compiling atop recent OpenMPI.
That MPI stack makes MPI_Datatype a non-fundamental type,
which requires moving the static const declarations out
of each of the specializations.  That has proven tricky
with the prior enable_if machinery, so here's a rewrite.

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44132 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: move static const outside declaration

Recent OpenMPI has non-fundamental MPI_Datatype preventing
initialization within the class.  Move them outside.

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44133 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: simplify unused argument

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44134 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: reduce boilerplate

Now much, much easier to read what's happening.

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44135 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: move static const to cpp file

Introduces linking errors when the static const values
are in the hpp file.  Move into a compiled-once cpp.

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44136 0bd85f0b-c151-43b9-a1e9-27231104551f