Added support for attribute-based serialization for objects containing IList properties

Given the following class structure:

```csharp
public class Person
{
    [SerializeAs(Name = "contact-data")]
    public ContactData ContactData { get;set; }
}

public class ContactData
{
    [SerializeAs(Name = "email-addresses")]
    public List<EmailAddress> EmailAddresses { get; set; }
}

[SerializeAs(Name = "email-address")]
public class EmailAddress
{
    [SerializeAs(Name = "address")]
    public string Address { get;set; }
}
```
RestSharp's XmlSerializer returns the following XML:

```xml
<person>
    <contact-data>
        <email-addresses>
            <EmailAddress>
                <address>my@email.com</address> 
             </EmailAddress>
        </email-addresses>
    </contact-data>
</person>
```
**Note that the serialization of the "EmailAddress" element ignored the SerializeAs attribute.**

Code attached to fix this issue and correctly serialize class names when included as an IList<> property.