Replace ignoreEquals with Hideable system

Add the Hideable system which allows features to be excluded from their
parent FeatureHolders' hashCode() and equals() method. The new system
replaces the old hack ignoreEquals system for properties.
Add TreeInitializer utility to overcome hiding persistence problems

Add the TreeInitializer utility which walks over a tree of feature
holders and calls the get() method with predefined feature definitions.
Since the get() method triggers the initialization process, hiding flags
can be set after the deserialization of a feature holder tree.
Add transient option to property definition factories

Add the "transient" option to Default(Collection)PropertyFactory in
order to allow users to create Transient(Collection)Property instances.
Clean up the DefaultFeatureHolder class
Update changelog
Fix major TreeInitializer issues

* Default(Collection)Properties now allow to invoke the get() method
even if no getter has been set yet (the feature hasn't been initialized
yet). That is required for the TreeInitializer to iterate over a feature
tree by retrieving FeatureHolders supplied by other holders.
* The TreeInitialiter class is now able to retrieve FeatureHolders from
collection properties.