Introduce testing framework using pytest

The config file isn't actually read at this time; that happens in `haas.config.load`. It needs to have already been read before this is called (true of everything that uses it).