Fortran unit testing

The problem

As a developer I want to be confident that the I don't break anything when I change things

fgen has a number of fortran-based modules that are well suited to unit-testing. We should support some kind of unit testing framework. The types of tests that we want to run are not very complex (normally just verifying that a result matches a value from python)

The alternatives are a bit ugly:

  1. Create a executable, run from pytest and check that the results match what is expected
  2. Write a wrapper module and then create tests in python

Definition of "done"

Additional context

#16