Removed list3 and tree; these are replaced by generic data2 and entry-ops.
Updated build list and reomved old data module.

See previous commit.
Added walkParents function.
Split entry ops into find and edit ops modules.

The edit ops are likely to be overridden by users of this facility.
Added cycling functions.
Got rid of data$.

The whole point of suffixing with '$' is so that uses of
entry/list/trees can use unsuffixed values.
Added tests for cycleTree.
Tidying up.
Renamed cycleTree to cycleNext.
Tidying up.
Added cyclePrevious and last functions.

Also clarified the nature of walkback and walkBefore.
Moved list/tree ds into its own module.
Added facets.
Added facet for listtree.
Added facet type checking.
Renamed facet function.
Replaced children$.head with firstChild$, also altered listtree facet.
Facets are dead, long live facets.

I tried using this approach in another project and it seemed to add a
layer of cognitive load that I felt was unnecessary.
Updated build list.
Updated build list.