Adding ResourceExtensions (Plugins).

Write configuration to file ExtensionsConfig.xml.
If <enabled> is true, attempt to download the plugin.
Get the manifest from 'location/failoverlocation' tag.
Download and extract the archive to LibDir/plugin_manifest_name/.
Read 'installCommand' from the PluginManifest.xml <Plugin> tag.
Create execuatable shell script containig 'installCommand'.
Spawn the script and report the PID to the Log.
TBD - disable plugin when <enabled> is false.

Added:
class ExtensionsConfig
Changed:
class HostingEnvironmentConfig
class GoalState
Write out the base64 config data to zip_dir so the resource extension plugin can process it.

Changed:
ExtensionsConfig.Parse()
Remove unneeded processing from HostingEnvironmentConfig.Process
Updates for json plugin handlers.
Fix bug in json logic
Merge plugin branch