CobbleGacha Expanded Alpha 3.7.35

Quick patch for the reported Standard Banner configuration issue.

FIXED - Standard Banner deletion
- The editor now allows the Standard Banner to enter the normal DELETE confirmation flow.
- The server no longer rejects deletion merely because the banner is marked permanent.
- BannerTestRuntime no longer silently recreates/inserts a synthetic Standard Banner when it is absent from banner.order.
- visibleBanners() no longer manufactures a Standard Banner after the admin removes it.
- "permanent=true" now means always active while the banner exists; it no longer makes the banner undeletable.

FIXED - Empty custom pools falling back to legacy pools
- Editor saves already set banner.<id>.customPools=true.
- Previously, if a custom rarity tier contained no Pokemon and no items, BannerCustomRewardHooks returned null.
- GachaLogic interpreted null as permission to use the original global/legacy reward pool.
- That could produce unexpected Legendary Pokemon/items after the admin had cleared the tier.
- In 3.7.35, customPools=true is strict: a failed/empty custom reward will NOT fall back to the old global pool.
- Instead, the pull result reports that no reward is configured for that rarity.
- Banners with customPools=false keep the original legacy pool behavior for backwards compatibility.

DEFAULT CONFIG
- Standard remains included by default and remains permanent while configured.
- It is now explicitly marked customPools=false in the bundled defaults, preserving the classic Standard pool until an admin edits it through the editor.
- Once saved through the editor, customPools=true is written and the edited pools become authoritative.

No pull rates, pity thresholds, IV generation, 50/50 logic, or reward probabilities were changed.
