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.