Fix: ArchivePolicy enum truthiness evaluation (Closes #1122)
Closes #1122 RFE: ArchivePolicy could use a _bool_
Fixes the issue where ArchivePolicy members always evaluate as truthy in boolean contexts, including ArchivePolicy.never even though its value is 0. This is because of standard Enum behavior where members are objects and hence are taken as truthy, irrespective of their numeric values.
As suggested on the mailing list, overriding __bool__ to raise NotABooleanError was preferred over switching to IntEnum or adding an extra method to enforce explicit checks. This MR implements that approach.
Also added tests covering boolean evaluation for all three enum members.
A corresponding MR has been raised in HyperKitty since ArchivePolicy is also duplicated there.