add base class serialization tests and fix

add:
* test for base class serialization and deserialization

fix:
* pointer types are signaled via 0-names (in nvp), just like enums
* class_id_optional_type is ignored on deserialization side
  (basic_xml_iarchive) does this too. This is necessary, because it is
  not always serialized but always expected on the deserialization side.

misc:
* minor code cleaning, whitespaces, ...