Retrieving both SystemInfo and Plugins during Initialize() call slows down client setup, which can lead to large slow down for some operations (e.g. terraform provider tests run twice as long due to that).
This commit defers initialization of both to when data is accessed by calling new SystemInfo() and Plugins() methods. The old behavior can still be done when needed by explicitly calling RetrieveSystemInfo() and RetrievePlugins() after a call to Initialize().
Retrieving both SystemInfo and Plugins during Initialize() call slows down client setup, which can lead to large slow down for some operations (e.g. terraform provider tests run twice as long due to that). This commit defers initialization of both to when data is accessed by calling new SystemInfo() and Plugins() methods. The old behavior can still be done when needed by explicitly calling RetrieveSystemInfo() and RetrievePlugins() after a call to Initialize().