Add sh to our requirements (stac sanity)
Make glozz XML writer resemble Glozz output more.

This involves some silly parse-reparse contortions I'd been
resisting. But the truth is that I wound up making similar
contortions through other means anyway.
Document how we interpret spans

Has implications for functions like overlaps
tidy up educe.tests imports
Tidy up educe.annotation.Span tests
BUGFIX: educe.Span.overlap on empty span

(an empty span here being one which has the same starting and
ending offset)
New kwargs inclusive in Span.overlaps

Allows touching edges to overlap
API autodocs for educe.learning.util