[bug] nimble install on an empty nimble file globally breaks nimble.
## Info
```sh
> nimble -v
nimble v0.14.2 compiled at 2024-06-10 01:29:31
> $os-info
╭────────────────┬─────────╮
│ name           │ windows │
│ arch           │ x86_64  │
│ family         │ windows │
│ kernel_version │ 22631   │
╰────────────────┴─────────╯
```


## Reproduction

```sh
> mkdir bonjour
> cd bonjour
> touch bonjour.nimble
> nimble install
  Verifying dependencies for bonjour@-1
 Installing bonjour@-1
  Success:  bonjour installed successfully.
       Tip: 3 messages have been suppressed, use --verbose to show them.
packageparser.nim(159)   validatePackageInfo

    Error:  The .nimble file name must match name specified inside C:\Users\User\.nimble\pkgs2\bonjour
--1-da39a3ee5e6b4b0d3255bfef95601890afd80709\bonjour.nimble

```

The thing is that it commits to file before failing:

```sh
(open C:\Users\User\.nimble\nimbledata2.json).reverseDeps
```
I can see an empty field:
<img width=512 src="https://github.com/user-attachments/assets/6d7c8777-ec5f-4988-952e-eb01758c7117"/>

And now nimble can't install anything and reports the following for almost any actions:

```sh
       Tip: 1 messages have been suppressed, use --verbose to show them.
version.nim(53)          newVersion

    Error:  Wrong version: -1
```    


## Current Solution

Only removing the field from the nimbledata isn't enough.
You also need to remove the wrong artifact in `~/.nimble/pkgs2/`

```sh
>  glob ~/.nimble/pkgs2/bonjour*
╭───────────┬────────────────────────────────────────────────────────────────────────────────────────╮
│         0 │ C:\Users\User\.nimble\pkgs2\bonjour--1-da39a3ee5e6b4b0d3255bfef95601890afd80709        │
╰───────────┴────────────────────────────────────────────────────────────────────────────────────────╯

> rm -rf C:\Users\User\.nimble\pkgs2\bonjour--1-da39a3ee5e6b4b0d3255bfef95601890afd80709
```

## Solution

Probably an edge case and mostly user error but still it shouldn't completely bork the install and imo just not commit anything on fail.
