Add a belt-and-suspenders feature, limit the amount of memory possible when unlucky or simply misconfigured. The worst case limit is roughly 400kB * 1000 = 400MB, regardless of usage pattern.
Before this change, sheer volume of broadcasts, mismatches in standardness rules, or simply fee mismatches may result in unbounded growth of memory usage. As the feature may be expande in the future, explicit bounds helps reasoning going forward.
Tests are a little repetitive of each other, but I like having them at both layers.