SerializeCore and DeSerializeCore for Nodes

Objective: To implement the Serialize and De-serialize methods for the different nodes so that extra information like value of a double node, etc can be saved during Undo/Redo methods.

Changes Made:  Implementation of these methods in multiple nodes.
->Refactor of a block of code into a function (VerifySymbol) in file function.cs
->Addition of a RecordModel function call for addition/subtraction of inputs in variable input
-> Otherwise all other changes have been only in the new SerializeCore and DeserializeCore methods