Big refactoring of segments and trails.

  * Segments can now be "closed" or "open"
  * Trails are "lines" or "loops", represented more correctly and tracked at the type level
  * Add a new 'Located' wrapper for adding locations to translation-invariant things
  * Change 'PathLike' to 'TrailLike', which now takes a Located Trail
Merge pull request #87 from diagrams/bee-coh-squashed

Big refactoring of segments and trails.