ProcedureDefinition holds a FrontEndProcedure instead of a StructureDeclarations.Procedure
Add agentClassString to core Instruction
Consolidate syntax and agentClassString methods into FrontEndProcedure
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
Squash with ProcedureDefinition changes