----------------
Breaking changes:
- CatalogVocabulary now takes a query for it's constructor instead of a LazyMap of brains
and lazy loads terms. Also, in __contains__, do a UID query instead of checking the
entire contents of the result. This prevents potential DOS with custom code where the
whole contents of the catalog would get loaded with terms created for it on every
validation attempt.
[vangheem]
New features:
- Optional allow to filter keyword vocabulary to a current *section* based on the current context.
The class was build for easy subclassing - and still is.
It allows to override the section fetching logic in a subclass.
The default logic is first to look in the controlpanel if there is a ``IEditingSchema.subjects_of_navigation_root`` boolean.
If its ``True`` the ``getNavigationRootObject`` is used as the section and only keywords used in this section are part of the vocabulary.
Otherwise all keywords in the index are displayed.
[jensens]