Improve atomicity for custom hooks RPCs
Atomicity has been introduce with #4201 (closed) but still has some potential issues. Since the directories cannot be swapped simultaneously in a single operation and instead must be shuffled, there exists a chance that the directories cannot be restored to there previous state.
To remediate this problem, a layer on indirection can be introduced via symlinks to the custom hooks directories. This will enable renames on the symlinks to be an atomic hook swap operation. #4201 (comment 1230772096) has some previous discussion on this topic.