Convert blockAgentClassString from String/null to Option[String]
Move AgentTypeChecker from MiddleEnd to FrontEnd

- _call and _callreport hold FrontEndProcedures, to simplify the
  type-checking process
Bump sample-scala sbt version
Task variables checked as part of compiler front end.

- _task is decomposed into _reportertask and _commandtask before leaving
  the compiler front end
Verify let in parse before sending to compiler backend

- Rename error from LocalsVisitor.notDefined to LetVariable.notDefined
_let expects only one argument - its initialization value