When no record matches the requested criteria a scope will return all
the records
In this case, if no record can be found we want the result to be nil
Also, make some readability fixes in specs
Add field cfp_type and relevant validations
Add Program#cfp to preserve backwards compatibility
Add 'for_events' scope to the cfp, in order for it to be used like
program.cfps.events
Add useful methods
Add rspec test for the new code
The supported cfp types can be viewed via Cfp::TYPES
Sets up paper_trail tracking in important models
and add conference_id to versions for storing conference_id
of conference related objects as metadata.This will help in querying
for versions related to conferences.
Fix issues with factories & event types initialization.Import paper_trail testing helpers
Fix bug: Creating an event creates a useless version with event update
Add revert and view changes features to revision history