COM Activation host (dotnet/core-setup#4577)
* Add new comhost library for COM activation
- Supports reading clsidmap as file or resource
- Supports registration and unregistration of COM server
* Replace COREHOST_MAKE_DLL define with EXPORT_SHARED_API
* Convert CoreClr instance loading API from a flat C-style to a class API . This will make having multiple CoreClr instances in the same process easier in the future.
* Move internal execute* APIs to the fx_muxer.cpp compilation unit
Add initial/erroring implementation for get_com_activation_delegate() to fx_muxer_t.
* Create coreclr_property_bag_t for property management.
* Extract coreclr property creations into a reusable class.
* Report process ID during test run.
* Remove the new corehost_ensure_load() export since the previous semantics
of reinitializing hostpolicy were designed for testing.
* Fix P/Invoke signature for hostfxr_get_native_search_directories to define
the calling convention and remove usage of StringBuilder.
* Properly propagate the host command on reinitialization
Remove additional uses of global variables where possible
* Don't add the COM server assembly to the TPA
Ensure the COM server assembly deps.json isn't added to the AppContext
* Feedback on error propagation
Commit migrated from https://github.com/dotnet/core-setup/commit/
1d95ece515edbbad0ef8f8980424d3e3bce49cb2