Add ability to patch pic24 hex files

You can now patch pic24 hex files.  Usage:
```shell
$ hextool patch -a <ADDR> -p -r <new value> -o <OUTPUT FILE> <INPUT FILE
```

To patch the mainboard bootloader called payload.hex use:
```shell
hextool patch -a 0x100 -r 0x00 -p -o payload.hex payload.hex
hextool patch -a 0x101 -r 0x00 -p -o payload.hex payload.hex
hextool patch -a 0x102 -r 0x00 -p -o payload.hex payload.hex
hextool patch -a 0x103 -r 0x00 -p -o payload.hex payload.hex
```
payload.hex will be overwritten.  You can check the result using:
```shell
hextool ranges payload.hex
```

You should see that the addresses 0x100-0x103 are included now in the defined ranges.