Fix namespace and type for nil attribute

This is my first time using soap, so this change may be wrong. I need to include a null value in the soap request. I had two issues. First, the 'nil' attribute wasn't being added at all. If I change the type of the 'true' from boolean to string then it is added. However, the server ignored the 'nil' attribute. To get it to work I had to qualify it with the xsi namespace.

I've added the xsi definition at the same location as the nil attribute. I did it this way because it matches the behaviour of the existing Silverlight client for this service.

An alternative way of fixing this would be to define the xsi namespace in the envelope, and there's a comment there about doing that. I can fix it that way if you prefer. If so, should this be a config option?

There's also some nil handling in the SOAPObject handler. Should the xsi namespace be specified there too? I see in the git history that it used to be, but that was removed in 2b68f65a63ce183beaa53a965b7a0bdc23f34267.