Bug fix for multiple params in XmlWriterSerializer

Currently, XmlWriterSerializer behaves in an odd way when using multiple parameters, which causes trouble with an XML-RPC service we're using. It also differs from how NativeSerializer works.

When serializing multiple parameters, e.g. ```$serializer->serialize('method', array('str1', 'str2'))```, XmlWriterSerializer only produces one param element, as follows:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
    <methodName>method</methodName>
    <params>
        <param>
            <value>
                <string>str1</string>
            </value>
            <value>
                <string>str2</string>
            </value>
        </param>
    </params>
</methodCall>
```

This differs from NativeSerializer, and from how I interpret the XML-RPC specification which states that ```"The <params> sub-item can contain any number of <param>s, each of which has a <value>"```.

NativeSerializer instead produces two param elements, as follows:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
    <methodName>method</methodName>
    <params>
        <param>
            <value>
                <string>str1</string>
            </value>
        </param>
        <param>
            <value>
                <string>str2</string>
            </value>
        </param>
    </params>
</methodCall>
```

In this PR I have added a test case for multiple parameters, and have changed the XmlWriterSerializer to produce the same output as NativeSerializer.