Replacing Serializable attributes to DataContract attributes for all platforms

Changed the Serialization attributes on all files employing them to new DataContract Attributes including enabling the DataMember attributes where existing (no new additions, although these should be reviewed where ever DataContract is used)

Also updated project files to include the System.Runtime.Serialisation namespace if not already existing as this is needed to reference the DataContract Attribute