epiphany: glueLine on empty line is no problem semantically

It was only a problem when thinking *representationally*: glueLine can
change the number of segments, because the empty line has none and
loops must have at least one.  However, semantically (viewing trails
as continuous functions from [0,1] to a vector space) there is no
difference between a trail with no segments and a trail with a single
trivial linear segment of length zero --- both correspond to the
constantly zero function.

However, we'd like to keep the representation "nice", so it also
occurred to me that we could have cutTrail detect a loop with only a
single trivial linear segment, and generate the empty line with no
segments instead of a single trivial segment.  Though it probably
doesn't matter that much.

Of course, we do actually allow observing the segment representation
via things like lineSegments, lineVertices, .... perhaps we
shouldn't.  That is, maybe we should decouple the notion of "vertices"
from the actual segments used for the representation. (?)
more documentation for Located and Trail