Improve script system.

-Mapleshark script dialog interface
-Save script and refresh structure without close form
-Export script function
-Mapleshark script menu button
	-Import button (Ctrl+I)
	-Export button (Ctrl+E)
	-Save button(Ctrl+S)
	-Exit button(Ctrl+X)
-All structure still have value suffix
	/*Example 
	* AddInt("ID");
	* On structure panel
	* Before : ID
	* ID
	* After  : ID : Variable value 
	* ID : 251413 
	*/
-Add more functions for script (useful for variable)
	//Get value without given name to structure
	byte AddByte()
	sbyte AddSByte()
	ushort AddUShort()
	short AddShort()
	uint AddUInt()
	int AddInt()
	float AddFloat()
	double AddDouble()
	bool AddBool()
	long AddLong()
	string AddPaddedString(int length)
	void AddField(int length)

	/*Example
	* job = AddShort();
	* AddComment("JOB : "+job,2); // short = 2
	* Q : Why don't use AddShort with given name to structure("JOB");
	* A : Sometime you need use value of packet for new function.
	*     If you use AddShort with give name. When you use varible Mapleshark will Add duplicate structure.
	*	Picture : http://i.imgur.com/G9EMJIp.png
	*/ 
	//If use varible and function without given name to structure
	//Just use AddComment With length.
	void AddComment(string pComment,int pLength)

	/*Example
	* a = AddByte(); //get value without name
	* StartNodeWithVariable("Test "+a,1)
	* EndNode(false);
	* --------or------------
	* id = AddInt();
	* name = AddPaddedString(13); //get name [name length = 13]
	* StartNodeWithVariable("ID : "+id+" Name : "+name,17) //Highlight dataform with 17 byte for variable [id = 4, name = 13 | 13+4 = 17]
	* EndNode(false);
	*/
	//Start node with missing highlight at dataform
	void StartNodeWithVariable(string name,int length)
File.WriteAllText should be sufficient here, but okay :).