toggle whether we check blocks children or not

There are a few noteworthy scenarios when dealing with required blocks
(1) The case where we have numerical purple blocks. For example, "Move forward [100] pixels" where the 100 is a child block.  If we have this as a required block, when checking user blocks we want to check the block (move forward) and it's children (100).
(2) The case where we have an if block as a required block.  In this case, if we have a user block with a child (for example "if (flower) { get nectar; }") we want to test only the parent block against the required block.
(3) A mixture of 1 and 2.  We have required an if block that has a value in it: "if (nectar > [1]) { }".  In this case we want to check that the user is using if nectar, we want to check that they're using the operation > 1, and we want to ignore whatever children are inside of the if.

To accomplish this, I added a toggle to blockly-core that allows us to encode our user block in a way that includes all values (like the 1 block), but ignores any child statements (i.e. any blocks inside the if).  I've tested with the three cases listed above.