Create error messages for common function editor mistakes

1. Use of an empty function block
2. Use of a function that contains an incomplete block
3. Misuse of params:
  1. Required # of params not declared
  2. Param declared but not actually used in the function
  3. Function not called with the correct # of params
4. Function declared but never used in workspace
I guess that kind of depends. If we expect to always want to have this check, maybe it does belong elsewhere. If we want it to be customizable by the level builder though (i.e. only exists when they put the procedure block as required) then where is is makes sense to me.