Issue #2303645 by eshta: Allow campaign settings to be generated independently of page build.
Issue #2303123: Fixing feature rules that use operators other than equals
Issue #2287583: Refactor the code for getting grouped visitor contexts for use in a select list
Issue #2308455: Slight refactoring of visitor context code and the beginnings of qunit tests
CH-562: Add support for creation of variation sets from mulitple option sets
Fixing the docblocks
Fixing personalize_elements test
Fix error on personalize_elements control option when created via page variations and quick typo.
Added contextual information to hook_personailze_elements_variation_types and added api file for documentation.
Include variation type data even when option sets aren't defined yet.
make contextual form input required.