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
We build a custom lodash. To add new functions, add them to https://github.com/code-dot-org/code-dot-org/blob/staging/blockly/Gruntfile.js#L172 and then run grunt lodash.