Fail tests on any warning
This PR modifies the pytest configuration to fail a test on any warnings, forcing us to stay on top of upstream dependency changes, etc.
This will likely need to stay open in 'Draft' form for a while until all of the different warnings are addressed.
This closes #1331 which should be split up into separate PRs that fix specific warnings.
Depends #1484.