Post #3743, the expected codes include "future" codes.

Now determining the expected codes is somewhat more complicated.
Instead of replicating that logic, just read them from the YAML files.
Added missing public_ids to the audited sample/specimen models. Refactored the specimen_pickup to include public_id, and missing code.

Task #3764
Fixed failing specs for audited sample/specimen models. #3764.
Add more coded attribute checks. #3764.