Cleanly separate `TapTree` and `NodeInfo`. Fix serde not respecting invariants for several data structures Repurpose some tests from removed taproot builder for taptree