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' of https://github.com/RareCrowds/OpenAdStack
Dynamic Allocation: Improve missing/unknown allocation id handling
 * MeasureInfo.GetCanonicalDataProviderName: Log and return null for invalid ids instead of throwing
   - This appears to have already been the behavior expected by the caller
 * DeliveryMetrics.CalculateNodeMetrics: Handle missing ids more quietly than unknown ids
   - Records with missing ids are still logged as warnings but will not generate alerts
 * Add XML escaping to MailAlertLogger
   - Previous fix included warning alerts for all failed activities but did not escape the activity XML