repeatable tests

Since map key traversal is random in Go, I added a sorted version
of VisitedKeys, VisitedKeysSorted. This gives repeatable test output
and might be useful by itself.
Add tests for empty maps.

These cases would spoil the example, as they are not helpful explaining
the API.