Be more consistent about validating bento "service field prerequisites"
"Service field prerequisites" are a mechanism for a bento type to only be available for institutions that have a particular field in their service credentials. Currently the only use is that EDS predefined bentos with the "Limit to Custom Catalog" option checked can only be used for institutions that have EDS API service credentials with the "Custom Catalog Number" field populated.
Right now, this validation is used when restoring defaults (default bentos that don't pass the validation are silently skipped) and on regular saves. Overlooked was the scenario of adding a new template bento. This fixes that.
This also makes sure bento types that wouldn't pass validation are not offered on the Bento Type menu for creating a new bento.
Finally, it skips the validation for regular saves if neither the service credentials nor the predefined bento is being changed. I was worried about the scenario where:
- an institution has a custom catalog number in their eds api service credentials
- they are given a custom catalog bento as part of their default bentos
- the custom catalog number is later removed from their eds api service credentials
- the custom catalog bento is now nonfunctional, but they can't delete it because it's part of their defaults, so they try to hide it
- the edit (to change shown_by_default to false) fails because it doesn't pass the service validation For now, I'm just fixing the last bullet point. In the future, perhaps the bento should be deleted automatically when the custom catalog number is deleted.