Added custom context variables to the ScriptNode.

Users can define any variables they want for the global context using the "variables" plug which is visible in the File->Settings... menu. The filename is also mapped to the script:name variable.
Fixed save and load of ReadOnly plugs.

The ReadOnly flag is now set separately on loading, after all the values and connections have been made. Also removed the TypedPlug and FormatPlug repr() implementations because they were duplicates of inherited functionality (and the TypedPlug one wasn't even bound with the right name).