Extended ModuleVersionDetails with "remote" and "origin" and "artifactTypes".
Added ModuleVersionArtifact to hold information about the type of artifact available and optionally its implementation version.
Handle the new extended information obtained from repositories/content stores (artifact types, remote, origin)
Added new addVersion() to directly add a ModuleVersionDetail
Now makes more information extracted from the class files available to the readModule() call-back (like artifact type and binary version)
Make sure we properly fill the new fields for the ModuleVersionDetails (with pre-defined values mostly)
Make sure we fill the new fields for the ModuleVersionDetailsi, some of it are just pre-defined valies while others have to wait for an updated Herd protocol.
Made sure the test suite compiles and runs correctly, but it doesn't yet actually test the new additions to the ModuleVersionDetails class