Add assertions in the `PackageVersion` constructor to ensure that there are no duplicate dependencies with the same name.
Additionally, add assertions in the `Package` constructor to ensure that there are no versions with the same version number.
