Added suport for .NET binary serialization

Adding the Serializable attribute to YamlNode allows the YamlNode object graph to be easily deep cloned / marshalled across processes with BinarySerlialization. Deep cloning is particularly useful within parallelized environments.

We have used this change successfully for about a month now.