Refactored: projection epoch/version replaced with ProjectionVersion structure
(not tested)
Changed: checkpoint tag serialization with full projection (id, epoch, version) stamp