- Forgot to mention in the last commit, now autosave kind or doc when
using MakeKind or MakeDoc when the node did not exist.  The existing
test continued to manually save kinds and docs after using these
methods, so doubling up on the saves, and increasing the size of the
zapmap, which showed up the ValueLocationBytes() problem.
- Added map functionality into SetFieldFromStruct in doclayer.go.
- Fixed FieldMap.String() and FieldList.String() ", " insertion logic.
- CATID, CatalogId and NodeId were being used inconsistently and the
benefit of multiple Id types lost.  Rearranged to make CATID a base
type, created interface Id used by IdSet, which now allows CatalogId and
NodeId types with encode/decode including LBTYPEs for each set element.
So, for example, every node has a parents IdSet which can now include
both CatalogId and NodeId types.