Implement basic callback systems on ItemAdjustments

This allows stores to hook into before/after events when the promotions and taxes are calculated for line items and shipments.

Fixes #4483.
Fix for #4234.