This PR tries to address issues noted in #5945 and #5977 specifically dealing with the manifest caching in adapter instances and incomplete data when performing a discover install.
Restructures discover_install so that the adapter's prepareDiscoverInstall() method is called to load the correct extension paths to memory before calling loadLanguage which is inherently dependent on having access to the manifest XML.
Modifies JInstaller so that each install route will always fetch a new adapter instance with the injected parameters, however only the first adapter for a given extension type will get cached (which includes its own internal memory). Support for the internal adapter cache is deprecated and should be removed at 4.0.
When possible, injects a manifest into the adapter when it is instantiated.
@mbabker Just tested and I can confirm this fixes #5977. I haven't been able to test #5945.
Thanks!
Eric.