Clean up feeds and improve test coverage

This is a fairly hefty PR to start improving our test coverage in our feeds as well as ensure errors are properly being handled.

There are quite a few fixtures which I created, hopefully what I can now do is setup fixturator to properly generate these but they will be in a separate PR.
files not existing isn't the only reason `file_get_contents` might change, can it stay in a `try..catch` too?