1.20+ potions support (#2692)
* Split base potion data handling for cleaner flow
* Custom name, null base type, modern effect type
* Back-Support legacy tags/mechs
* Metaify all changes
* Fixup some version checks
* Minor `applyBasePotionData` cleanup & renames
* More backsupport for now-null base potion type
* Final fixups
* `effect` key only on 1.20+ to match input
* Oops whitespace
(
commit: 9adc643)