Don't serialize some internal properties.

These properties are all set bu init() which runs at the start of
unserialize. They should not be serialized so that unserilizing old
objects against new class definitions works properly.
 * internal_property_autosave
 * internal_property_accessible
 * date_properties
Formatting.
When unserializing, merge internal properties.

This allows old serialized data to restore into new objects without
removing the null internal properties. This prevents exceptions and
allows other session migration code to run.
Ignore properties we don't want serialized.

Includes
 * internal_property_autosave
 * internal_property_accessible
 * internal_property_classes
 * date_properties
Merge pull request #5 from gauthierm/data-object-restore

Data object restore