Only add customer and product features when required
Add Load() overload that populate the License from a XElement
Implement Load() methods to create a License instance from XML
add some comments to this internal constructor
Implement constructors for loading from XML
Only allow to set properties while license is not signed
When exporting a DateTime to RFC 1123 ensure we converted it to UTC before and assume UTC while parsing it
Ensure correct return values after loading from XML

When a license is loaded from XML the XElements have no association with their derived classes Customer and ProductFeatures. Se we must check whether the XElement is their but not from type of their derived class, then replace them by their derived types.
Add unit test project
Add CLSCompliant attribute