Bugfix: When sending order sources of 3dsAuthenticated or 3dsAttempted, because these strings are not valid names (they start with a number), the xml generated was using item as a prefix.  This fix changes orderSourceType from an enum to a class and adds a Serialize() method that correctly converts the member name 3dsAttempted to the xml element named 3dsAuthenticated