Allow shipping_address being '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.
Update migration to include PartnerAddress model.

Without this when running schemamigration --auto on partner a migration to
create PartnerAddress is created.

The reason seems to be that this and the 0009 migration have been created
in parallel on two branches as migration 0009, then this migration has been
renamed to 0010, but not "rebased" to reflect that PartnerAddress now
exists. Therefore, when detecting changes for a schemamigration South
assumes that PartnerAddress doesn't exist.

address.country was added by south when I recreated this migration. I think
this change is not strictly necessary, but I am not 100% sure so I left it
it. Same about the length change and the related_name additions.
Make NoShippingRequired available by default.

When all product classes have shipping_required=False the checkout logic
automatically returns the shipping method NoShippingRequired. That shipping
method is not available in the default Repository so the checkout will
crash.

Adding NoShippingRequired allows the checkout to work in that cases without
overriding the Repository class.
Fix whitespace.
Allow non-staff users to be associated with a partner.

Also give associated users access to the partner dashboard by giving them
the partner.dashboard_access permission.
Restrict stock record editing to the current user's partners if not is_staff
Require at least one stock record for partner dashboard users
Pre-select partner if only one is available and remove empty option
OSCAR_DASHBOARD_NAVIGATION option refactoring.
-- converted to dictionary to make it flexible to customize it
-- added OSCAR_DASHBOARD_NAVIGATION_OVERRIDES option for customizing
standard navigation
-- added position option to manipulate items order