Improve/fix interrupt allocation/setup/release:
- Simplify MSI allocation to what is actually needed for a single one.
- Release the MSI and the corresponding bus resource as appropriate when either the interrupt resource cannot be allocated or setting up the interrupt fails.
- Error out when interrupt allocation or setup fails and polling is disabled.
- Release the MSI after the corresponding bus resource so the former is not leaked on detach.
- Remove a redundant softc member.
MFC after: 3 days