Move import summary into source importer, update to use Abstract* objs
Allow wildcard for source_id and add dry mode in sources:import task
Move SourceParser::Base into lib/, be more explicit about some 'require's
Set Abstract{Event,Location}#id to one compared against if unchanged
Filter out duplicate unchanged locations detected during source import
Track and populate the venue_id from within AbstractEvent
Explicitly test Abstract* constants, ensure :end_time before :start_time
Import AbstractLocation during AbstractEvent#import if not yet imported
Propagate non-validation errors that occur via SourceImporter#import!