Switch to EOS' portable archive (including the tests)

Since we cannot serialize uninitialized booleans with EOS, also either
disable classes with them or initialize them when the change is trivial.
Later on we can re-enable them if needed.

This adds the EOS in the repository (later on we may switch to a external
if we decide to go for boost::serialization).