Allow shipping_address to be 'None' for an order

I've had an issue with orders that contain only items that don't require
shipping. In this case, the shipping address could be ``None`` which
breaks the ``create_shipping_address`` method.

I've added a test case for it and provided a simple fix. I wasn't quit
sure if the check should be in ``create_shipping_address`` or in
``place_order`` and only call it for an address that is not ``None``.
I've decided to go with the first because it is also simpler to test
this in isolation but am not fussed about moving it up.

Fixes #956
Fixes #910