Convert piecewise curves to map<t,c> data structure.
Implement piecewise::parameter_report() diagnostic helper.

Helpful when debugging issues with replace, split, etc.
Convert piecewise surface to map data structure.

All tests pass.

Slight interface change was required. 'piecewise::resize( nu, nv )'

Was made private as 'resize_store'.  Public methods 'init_?' were added.
init_u, init_v, and init_uv initialize the size of the piecewise grid and
the parameter values.  They erase/clear whatever was previously held
in the piecewise surface.

The init_? methods have parameters to specify the parameter start and
spacing for each patch.  These default to dp=1 and p0=0.  For mos uses,
piecewise::resize(n,m); can be replaced with piecewise::init_uv(n,m);.
Fix warnings on LLVM
Fix piecewise curve problems turned up by llvm.

LLVM is more picky than GCC about creating and using invalid iterators.
These changes stive to avoid those situations entirely.
Fix piecewise surface problem turned up by llvm.
Removed updated variable.
Code reformatting for consistency.
Code reformatting for consistency.
Code reformatting for consistency.
Fix to support gcc45 std::map implementation.
Fixed const correctness for methods and fixed std::map usage for gcc45 to compile.
Merge branch 'feature/Map_Based_Geometry_Containers' into develop