Global cache key respects dependent package versions

* Moved generate_dependency_key from PackageCompiler and
  Models::CompiledPackage into CompileTask
* Moved compiled_package_cache_key to CompileTask private method
  generate_cache_key