Resolves renaming netgraph jails. Previous behavior would "replace" the jng commands with the same old interface then fail to start the newly renamed jail with the following output.
```sh
Attempting to rename 'testjail' to jt...
Renamed 'testjail' to 'jt' successfully.
[jt]:
ng0_testjail
jt: created
ifconfig: interface ng0_jt does not exist
jail: jt: /sbin/ifconfig ng0_jt vnet jt: failed
jt: removed
```
The failure case above required manually creating the netgraph interface with `jng bridge <new ng int suffix> <interface>` and removing the old one `jng shutdown <old ng int suffix>`
This PR will allow bastille to be configured based on the user you run as.
To load the config for a specifig user, you must be logged in as the specified user, and there must be a file called "bastille_user.conf" inside /usr/local/etc/bastille or else bastille will just load the default config file.
Added SPDX-License-Identifier to all scripts for better license clarity and compliance. Updated the copyright years from 2024 to 2025 in various files to reflect the current maintenance period.
Accross the code, release names are checked against some variation of
-BETAx / -RCx which are inconsistent in the range of accepted values for
`x`.
As a consequence, some commands cannot be successfuly run while they
are valid, e.g. `bastille create test 14.0-RC4 10.0.0.2` is rejected
because only `*-RC1` and `*-RC2` are accepted as a RC release name.
Find out these lists of specific BETA and RC patterns and adjust them to
allow any one-digit value at the end. We generaly do up to 4 BETA / RC
releases, so a one digit limit is probably enough for the time being.