Handle nil datetypes

So, now I've got this crazy service that's returning dates like:

    <someDate xsi:nil="true" />

Which causes the kinds of errors seen below when I call the service or add a few tests.

This PR does two things:

(1) Recognizes when adapt_args isn't going to give us what we need to instantiate a date or datetime, and bail returning None
(2) Decline to set value._position when something slips into AttributeDescriptor.__set__ anyway because it has some other attribute in addition to xsi:nil="true", and then gets converted to None because of (1).

I'm a little uncomfortable with throwing away attributes on nil elements ... but it seems like a step forward from erroring out altogether? Maybe what we really need is some kind of Nil mixin...

    ======================================================================
    ERROR: test_nil_datetypes.test_nil_simple_date
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/Users/jstern/Envs/scio-dev/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
        self.test(*self.arg)
      File "/Users/jstern/working/main_repos/scio/tests/test_nil_datetypes.py", line 22, in test_nil_simple_date
        nil = client.type.getNilDateResponse()
      File "/Users/jstern/working/main_repos/scio/scio/client.py", line 440, in __new__
        inst = base.__new__(cls, *newarg, **newkw)
    TypeError: Required argument 'year' (pos 1) not found
    
    ======================================================================
    ERROR: test_nil_datetypes.test_nil_simple_datetime
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/Users/jstern/Envs/scio-dev/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
        self.test(*self.arg)
      File "/Users/jstern/working/main_repos/scio/tests/test_nil_datetypes.py", line 37, in test_nil_simple_datetime
        nil = client.type.getNilDateTimeResponse()
      File "/Users/jstern/working/main_repos/scio/scio/client.py", line 440, in __new__
        inst = base.__new__(cls, *newarg, **newkw)
    TypeError: Required argument 'year' (pos 1) not found
    
    ======================================================================
    ERROR: test_nil_datetypes.test_deserialize_complex_nil_response
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/Users/jstern/Envs/scio-dev/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
        self.test(*self.arg)
      File "/Users/jstern/working/main_repos/scio/tests/test_nil_datetypes.py", line 42, in test_deserialize_complex_nil_response
        resp = client.service.getNilDateAndDateTime('foo')
      File "/Users/jstern/working/main_repos/scio/scio/client.py", line 283, in __call__
        response = self.send_request(request)
      File "/Users/jstern/working/main_repos/scio/scio/client.py", line 299, in send_request
        return self.client.send(self.method, request)
      File "/Users/jstern/working/main_repos/scio/scio/client.py", line 153, in send
        return self.handle_response(method, response)
      File "/Users/jstern/working/main_repos/scio/scio/client.py", line 161, in handle_response
        return method.output(body, header)
      File "/Users/jstern/working/main_repos/scio/scio/client.py", line 1223, in __call__
        result.append(part(body))
      File "/Users/jstern/working/main_repos/scio/scio/client.py", line 777, in __init__
        setattr(self, name, el)
      File "/Users/jstern/working/main_repos/scio/scio/client.py", line 994, in __set__
        value = self._new(value)
      File "/Users/jstern/working/main_repos/scio/scio/client.py", line 1019, in _new
        val = self.type(value)
      File "/Users/jstern/working/main_repos/scio/scio/client.py", line 440, in __new__
        inst = base.__new__(cls, *newarg, **newkw)
    TypeError: Required argument 'year' (pos 1) not found
    -------------------- >> begin captured logging << --------------------
    scio.client: DEBUG: Request: <soap-env:Envelope xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"><soap-env:Body><tns:getNilDateAndDateTime xmlns:tns="http://localhost/wsdl/NilDateService/1/">foo</tns:getNilDateAndDateTime></soap-env:Body></soap-env:Envelope>
    scio.client: DEBUG: Response xml: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <SOAP-ENV:Body>
        <ns2:getNilDateAndDateTimeResponse xmlns:ns2="http://localhost/wsdl/NilDateService/1/">
          <ns2:nilDate xsi:nil="true" />
          <ns2:nilDateTime xsi:nil="true" />
          <ns2:niceDate>1955-11-05</ns2:niceDate>
          <ns2:niceDateTime>1955-11-12T22:04:00</ns2:niceDateTime>
        </ns2:getNilDateAndDateTimeResponse>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    
    --------------------- >> end captured logging << ---------------------
    
    ----------------------------------------------------------------------
    Ran 83 tests in 3.898s
    
    FAILED (errors=3)