Jordan

Results 15 issues of Jordan

Resolves #45 by implementing fixes noted [here](https://github.com/thaler-lab/EnergyFlow/issues/45#issuecomment-2217753209).

Error shown [here](https://github.com/j-s-ashley/EnergyFlow/actions/runs/9858574406/job/27220276111#step:6:4121), `name '_X0' is not defined`, results from `test_n_jobs` function on [line 67](https://github.com/thaler-lab/EnergyFlow/blob/master/energyflow/tests/test_emd.py#L67).

Lines 126 and 149 of the [test_archs.py](energyflow/tests/test_archs.py) file are causing CI to [fail](https://github.com/thaler-lab/EnergyFlow/actions/runs/9826386713/job/27127800657?pr=42) with the following error: `'keras._tf_keras.keras.backend' has no attribute 'function'` The lines in the test file [126](https://github.com/thaler-lab/EnergyFlow/blob/c63a6185b3b91df4e61c74b097e2352a4a17f518/energyflow/tests/test_archs.py#L126) `kf...

Addresses final part of #31: > - [ ] Have a seperate publishing workflow that downloads the artifacts and then publishes them using [PyPI's Trusted Publishers](https://learn.scientific-python.org/development/guides/gha-wheels/#publishing).

Addresses part of #31: > - [ ] Split the CI components from the wheel building in CI > c.f. https://github.com/thaler-lab/Wasserstein/pull/8 > - [ ] Have the wheel building workflows...

Implement the modern build system Hatch based on [Scientific Python Best Practices](https://learn.scientific-python.org/development/guides/packaging-simple/).

Implements [pre-commit](https://pre-commit.com/) and applies initial style changes.

To support packaging and CI/CD modernization in line with [Scientific Python Best Practices](https://learn.scientific-python.org/development/guides/packaging-compiled/), the `scikit-build-core` build backend should be used instead of `setuptools`.

To summarize @matthewfeickert in https://github.com/thaler-lab/EnergyFlow/pull/41#issuecomment-2192177572, - [x] For now, the EnergyFlow installation at line 72 of ci.yml https://github.com/thaler-lab/Wasserstein/blob/ad6d815d2f4483528d4039c954d23bbb286ae220/.github/workflows/ci.yml#L72 can be changed to ``` python -m pip uninstall --yes EnergyFlow python...

Resolves #13 and closes #50