allow overriding with a custom vocabulary

This allows people to override the default vocabulary (plone.app.vocabularies.Catalog) with a vocabulary_factory defined in the field as 'vocabulary_factory' or on the widget as 'ajax_vocabulary'.