tests: Memoize fixture loading (so that it doesn't happen once per suite)

Before this PR, test run time is dominated by loading data, once per `test_*` file. This change makes a `get_fixture` function which memoizes the tables so that they are re-used.

On top of the other pull requests, it represents another -1/3 on the time run time.