Disallow empty blocks.

*** This is still a WIP. ***

Related to #9849, #10072
@rwjblue Thoughts?