- Add ContractEditor class overriding FunctionEditor
- Conditionally instantiate ContractEditor instead based on level builder Contract Editor checkbox
- Add use MSM contract editor parameter to level builder
- Initialize Blockly.functionEditor with other class when set
- Replace Blockly.useModalFunctionEditor usages with if Blockly.functionEditor check
- Add new FunctionalDefinition block type
- Get parameter inputs inlined
- Create functional procedure call block
- Lazy-initialize block_svg_functional parameter markers on render update
Fix function call name updating issue issue by adding Procedures.renameProcedure change handler to field
Support functional procedure evaluation
Add categories and functions category to eval
Add functional parameter block type
- Use statementToCode rather than valueToCode for functional blocks
Add type dropdown stub
Add output type dropdown
Fix closure compiler warning
Add functional i18n strings
Set 'Choose type...' as type dropdown caption
WIP, temporary support for setting type of last param added to flyout
Add <mutation>-based serialization/deserialization of parameter block types
Serialize / deserialize block types
Add parameter names on the function calls
Remove unused helper
Merge remote-tracking branch 'remotes/origin/staging' into msm_contract_editor

Conflicts:
	blockly-core/core/function_editor.js
	dashboard/app/models/eval.rb
Temporarily add a check for level.solutionBlocks in Eval app
Fix unused portion of code
Fix merge issue with modal function editor
Clean up messy param passing pattern