add support for exlusive features

allow features to be 'exclusive' where if that feature is selected, then
other features cannot be.