Replaced usage of Ivy Message in recently copied code with Logger.
A couple of minor updates to c++ spec.
Moved HashUtil and HashValue from core to baseServices project.
Extracted a 'resources' project out of 'core' and 'coreImpl' to collect up our resource infrastructure. Nothing much in there yet.
Renamed some packages in the resources project.
Replaced FileStoreEntry with LocallyAvailableResource.
Use a LocallyAvailableResource to represent a cached artifact.

- Changed RepositoryArtifactCache.downloadAndCacheArtifactFile() to return a resource instead of a File.
- Changed the meta-data parsers to accept a LocallyAvailableResource instead of a URL.
Added some test cases to the c++ spec.