Override equals and hashcode in Module to use identifier and version.
Override equals and hashcode in Version.
Also made fields read only.