[Finishes #74999424] Changed to required blocks check

Instead of converting to blocks (which gets us into trouble because it can rename titles in some cases), compare the actual elements.

This is a little scary in that it has no unit test coverage.  I spent some time trying to add some, but ran into issues where the idea of Element is slightly different in node than the browser (I think we're getting this from jsdom).  I ultimately decided it was more important to get builders unblocked.  Probably worth me adding a pivotal item to track adding tests in the future. (We kind of have a dearth of coverage of custom built levels in general).

I did spend some time manually verify I got what I expected for required blocks on levels, including the case where we have a function with a particular name as a required block.

Let me know if you see anything missing or think this is too scary to justify right now (would mean we can't have functions as required blocks for the time being).
Could we pull out `attributesEquivalent(one, two)` and `childrenEquivalent(one, two)`?