Measure Metadata: MetadataMeasureSource
 * Replaces AbstractMeasureSource as base class for measure sources
 * Derived classes define MetadataIds to use via protected property set
 * Behavior should be unchanged if MetadataIds is not set
DA: More graceful handling in CalculateNodeMetrics of unknown allocation ids in canonical delivery data
 * Log warnings instead of failing and roll up to a single alert if any unknown allocation ids were encountered
 * Add success and fail logging to Activity.SubmitRequest
 * Add warning alerts for all failed work items
Merge branch 'master' into MeasureMetadata