add an Enum class

use it for FrameType and NodeType and to simplify the conversion
to and from strings.
major cleanup of frame handling

all support for interesting frames is now only in rmf3.
by default frames have no parent
and example shows a frame structure
a method is provided to get just the root frames