Improvements to the auto-obsoletion behavior.

This allows new updates to obsolete any updates containing older versions,
along with builds for packages not present in the new update. These non-obsolete
builds are then inherited into the new update.
If we're inheriting builds from a security update, inherit the type
Update the test_obsoleting_multibuild_update for the new obsoletion behavior
Update the test_obsoleting_different_batches_of_updates test
Fix the test_add_older_build_to_update docstring
Tweak a couple more unit tests