Add field name uniqueness validation when creating menus.  The ref field must be globally unique for fields with values, producing a hard error if not.  A debug error is produced for like named fields without values bu the script continues.

Rework the toCSV functionality to avoid a traverse of the entire menu structure.

Conditional the get and set value, find field and CSV functionality to only appear in the top level menu.
Arrange the optional field definitions better in the LDoc