Serializable API change for serializable_node_name

* Now serializable_node_name is a method to be overrided
* SerializableObjectModel declares it as virtual to allow
  overrides in derived classes
* SerializableObjectModel print message for problems with
  serializable_node_name value
* Updated tests cases
Added convenient Enumeration class manipulate Enum types

* Added tests cases for Enumeration class
Added Unit Test for serialize Enumeration
Added Unit Test for deserialize Enumeration

* Fixed use of camelcase representation of a enum property in a
  GXml.Attr
* Fixed: no serialize enumeration with invalid value
* Fixed: no deseralize enumeration with invalid GXml.Attr value
* Changed SerializableEnumError to EnumerationError and INVALID_NAME to
  to INVALID_TEXT