add a BaseIter implementation for PriorityQueue
rm each method from the Map trait

the map types should implement BaseIter instead
implement BaseIter for TreeMap
make Option's map and map_default use a lifetime
implement BaseIter for SmallIntMap
add a ReverseIter trait
implement ReverseIter for TreeMap and TreeSet
implement ReverseIter for SmallIntMap
implement BaseIter for LinearMap
fix map tests
core: Remove transitional code
core: Remove structural records from the rest of core, except pipes

That will, sadly, require one more snapshot.
Fixed #1531
Typo s/recusive/recursive/
fix typos in sample code, add enum to json encoder, add test case
json bugfixes
tidy
json bugfix
json add enum encoder test case
re-special-case Option in JSON encoding