Basic game
Added IDs to game objects
Added action for placing pieces
Added untested I/O skeleton
Added a first replication test: two games inside the same JVM. All data is read from one game, i.e. flow control and output are done from that game. Input actions are created for the other game, serialized to a byte array, deserialized for the other game, and applied without inconsistencies.

The test case actions do not use IDs that change during the game, and don't support undo.
Made Action part of the engine structure to account for states.
Added Modifications for future undo
Added basic modification and undo structure for single actions
EntityRef is now more broadly SerialRef
using readObject() instead of a custom init() method
Added protobuf dependency and polymoph-support-message
Successfully changed Action serialization to use protobuf
Streamlined Action by removing Engine reference
Encapsulated serialization and deserialization logic into ProtoIO (instead of only object creation in ProtoConstructor) to give more flexibility for where to implement that logic. ProtoConfig stores the ProtoIOs associated with different type IDs to reuse configurations more easily
renamed type field of the Obj proto to type_id, to be consistent wit ProtoSerializable
Added initialize() method to ProtoIO so that an unfinished reference to the deserialized object can be stored before deserializing nested objects that may reference to it.
Documented the most important classes in the proto package.
<T extends ProtoSerializable> is not really necessary so removed it
Introduced dependency to polybuf:0.0.2; did not bother to figure out how to reference polybuf.proto
Made one of the classes inherit from Entity instead of AEntity and adapted Engine to make that generally possible