[Finishes #76811408] counting top blocks

Previously, we would determine the correct number of top blocks by looking at the number of top blocks in start blocks, and make sure we had the same number at the end.  This worked because we never validated the number of top blocks on apps where you could add functions (thereby increasing the number of valid top level blocks).

New check is to just make sure none of our top blocks have a previous connection.  I also removed all preventExtraTopLevelBlocks config, as it is always true now.

I did make a unit test, but the standard test works by inserting all of our xml as start blocks, which meant the bug wasn't exposed.  I could/did expose it by manually setting numRequiredTopBlocks in runBeforeClick, but with this change numRequiredTopBlocks is no longer a thing.

In hindsight, I think I'm going to add this unit test anyways sans hack.