Changes APIPackageLoader class, to enable it to persist downloaded
packages on disc. Adds synchronization between eventlet threads and
different murano-engine workers, since it's now possible for
several engines to attempt to download the same package
The functionality is controlled with 'enable_package_cache' conf
variable.
Targets blueprint: murano-engine-package-cache
Change-Id: Ia7bc60ea44463724758c9313683c28b5d736bbd5