Fixed pivotal issue 75231994.

Specifically, added TestResults.EMPTY_FUNCTION_BLOCK_FAIL and
msg.emptyFunctionBlocksErrorMsg() so a different message is shown
for an empty function definition than for an empty repeat/if.
Would it be simpler to just replace this with hasEmptyFunction(), then iterate through the blocks and check for one of type procedures_def[no]return?