Serialization component

Added a serialization component and an interface to serialize /
deserialize Goat elements to a stream