Modified to handle complex types

Added custom namespace to options on createClient. Borrowed
implementation from https://github.com/evgeniyarbatov/node-soap.
changed one function.

Addresses this issue.  https://github.com/vpulim/node-soap/issues/334, Attempted to use their latest but failed tests.

Can test with this.
 ```
var soap = require('soap');
var url = 'http://nodewcf.azurewebsites.net/Service1.svc?singleWsdl';

var getData = {};
getData.MyValue = "35";

var opt = { customNs: 'http://schemas.datacontract.org/2004/07/NodeSVC' };

soap.createClient (url, opt, function(err, client) {

    client.Service1.BasicHttpBinding_IService1.GetData2(getData, function (err, result) {
        if (err !== null)
            console.log(err);

        console.log(result);

        console.log('### SOAP MESSAGE ###');
        console.log(client.lastRequest);
    })
});
```