Add HalfedgeGraph and fix several minor issues in preperation for new circle offsetting code

* Add Field<...>::ptr_to_id
* Add Nested<T>::pop_from_back()
* Add missing #pragma once to NestedField.h
* Remove debug typedefs from exact/circle_csg.cpp
* Handle single circle contours in unquantize_circle_arcs
* Add constructors for ExactCircleArc
* Rename arguments to circle_intersections_ccw to make usage clearer
* Expose circle_intersection_below_horizontal
* Make Hashtable::value_type work even if value_type isn't default constructable
Merge branch 'master' of github.com:otherlab/core