Add bezier surface promote_u,v_to routines for multi-degree promotion.
Add bezier surface to_cubic_u,v routines to approximate surface as cubic.
Add bezier surface equiparametric maximum distance routines.
Refactor piecewise surface splitting to expose lower-level interface.
Fix bug in piecewise surface split_v
Add minimum/maximum degree method to piecewise surfaces.
Add adaptive to_cubic converter for piecewise surfaces

At present, the to_cubic_v test case crashes.  I have not been able to
trace this crash.  Taking the working test case and .swap_uv()'ing the
surface does not make it work.
Merge commit '43cb45c82d61f8cf49ba456dba3c3fe72e1f2604' into feature/Surface_Demotion_to_3rd_Order

# By Rob McDonald
# Via Rob McDonald
* commit '43cb45c82d61f8cf49ba456dba3c3fe72e1f2604':
  Add adaptive to_cubic converter for piecewise surfaces
  Add minimum/maximum degree method to piecewise surfaces.
  Fix bug in piecewise surface split_v
  Refactor piecewise surface splitting to expose lower-level interface.
  Add bezier surface equiparametric maximum distance routines.
  Add bezier surface to_cubic_u,v routines to approximate surface as cubic.
  Add bezier surface promote_u,v_to routines for multi-degree promotion.

Conflicts:
	include/eli/geom/surface/piecewise.hpp
Fixed compiler warning about unused variables.
Code formatting.
Added code comment to indicate that code needs to be fixed.
Removed unused variable to eliminate compilation warning in GCC.
Fixed bug in split_u and split_v methods in piecewise surfaces. Fixes issue #23.
Merge branch 'feature/Surface_Demotion_to_3rd_Order' into develop