LNHANCE bips and implementation

Tonight, I created a PR against @ajtowns 's binana to create numbers for CSFS and INTERNALKEY.

I also created draft PRs for ctv, internalkey, csfs alone against core.

These 3 PRs include everything from #29198 except activation and functional tests that depend on CTV being active in regtest. They conflict with each other, due to overlap in SCRIPT_VERIFY_FLAGS numbers, which I’m not sure the best way to deal with.