geometry/traverse: Disambiguate traverse with single_ and double_ prefixes

Previously only the "tolerance" parameter disambiguated the singly and
doubly recursive overloads, which is dangerously confusing.  Now that
doubly recursive traverse is called double_traverse, the thickness
parameter is optional.
garbage collection with vertex id map, transform with matrix, from/to python for property handles
pull decimation modules into .h for external use
Merge branch 'master' of github.com:otherlab/core
Merge branch 'master' of github.com:otherlab/core into sympy