adding SoftwareLicensingProduct wmi class

code automatically generated by mgmtclassgen: mgmtclassgen
SoftwareLicensingProduct /L CS /N root\cimv2 /P
SoftwareLicensingProduct.cs
Use hashed installationId as client identifier

engine should now use hashed offline installation id as its client
identifier
refactored way engine gets client id so that its classes can be injected
and also tested in unit tests.