Warn about inconsistent flags

As discussed regarding c5298f15f73136dc3291de1e56541aacce6eb779,
redundant refinement flag synchronization might be expensive, but
allowing inconsistent parallel refinement flags to break a large code
that could have been fixed by redundant synchronization might be
offensive.  This patch aborts upon finding inconsistency when in
debug/devel modes, but simply fixes the problem, warns about it, and
continues when in opt mode; this way we can fix any such bugs and
users should be safe to remove the redundant synchronization later.
Fixes for external-to-libMesh getpot usage

This should sync us up with the fixes that were needed to use our
GetPot fork with the PECOS toolkit GRVY.
Singletons for each reference element type.

This patch implements singleton objects for each reference element type.  At presenent they are read from our "reference_elements/" files, but that does not scale.  My next attempt will be to embed those definitions automatically through static stringstream objects.

This is an incrimental feature to support the following usage:

Elem *phys_elem;

Elem const * ref_elem = phys_elem->reference_elem();

where phys_elem is a typical element and ref_elem is its reference element in parametric coordinates.
shell script to create static reference element strings from files.
include *.data in the source file list
reference element data
implement reference element data
implements reading from static strings rather than file
fix generated file
remove temporary cruft
newline
return a reference per Roys suggestion
implement missing 1D reference elements
predictable sorting
implement remaining reference elements
reimplement using Singleton
remove redundant test
remove print statement
reimplement using Singleton::Setup
Elem::reference_elem()