Structured HN Processing and Variable Dropout
Squashed the commits and resolved merge conflicts.
Structured HN (Test image included) - https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/4334 Variable Dropout - https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/4288
What does it do?
Variable Dropout allows Hypernetwork to have variable numbers instead of fixed 0.3 (people complained about it might be too high)

Structured HN Processing allows Hypernetworks to be sequentially processed, or mixed.

Required Tests
1. Check if HN Loads and can process image normally.
expected [0, 0.3, 0, 0], given [0, 0.3, 0, 0] - OK

3. Check if HN can be trained and saved normally. (from existing HNs)

4. Check if HN can be newly created and trained.

5. Check if HNS(Structure files) are working normally.

6. Check if HNS files are prohibiting training normally.

Examples of .hns (HyperNetwork Structure) files can be found at Here.
Files can be opened and modified with notepad or any default string readers. It might be preferable to do some UI stuff.
https://github.com/aria1th/Hypernetwork-MonkeyPatch-Extension
If someone is interested in it, please see the extension and use 'train_gamma' tab in Train tab.
Structured HN is too complex for my tastes and as it is can only be an extension. As for Variable Dropout, if you still want to merge it, make a PR with just it.