we used to have a flake in tests/flake.nix on top of the top-level one.
This results in 2 lockfiles for the same purpose and is not practical.
Instead this moves tests to legacyPackages:
- so they dont appear in "nix flake show" as it can be inconvenient
- legacyPackages supported nested attribute sets of derivations which
could let us regroup tests under a same set and build that instead.
For instance, one could `nix build .#tests.neovim` and build all of
neovim packages. One could still pick a single `nix build
.#tests.neovim.plugin-config`
dont expose tests into devShells to limit
fix python test runner to find the tests where appropriate