refs #49: Copy BaseValue attributes when creating an immutable copy of a BaseEntity
refs #49: ValueRepository::fetch_by_id
refs #49: Fetch references from BaseEntities when initialized with a Hash
refs #49: Small refactor in the Repository factory
refs #49: Add fetch_all for BaseValues