Set correlation ID as payment event reference

Related to #32.
ShippingAddress.name is now a property
Handle no-shipping scenarios

- Only check for shipping address when basket indicates that one would
  be required.
UserAddress.name is now a property

Changed in Oscar 0.6.
Merge branch 'master' into issue/34/oscar-0.6

Conflicts:
	paypal/express/gateway.py
	paypal/express/views.py
Adjustments for Oscar 0.6

- Pass basket to get_shipping_address
- Pass basket to get_shipping_method
- Ensure strategies are assigned to reloaded frozen baskets
- Use a build_submission method
- Pass both values to FixedPrice shipping method
- Use renamed bankcard attributes in tests
Update sandbox catalogue fixture
Include new apps in INSTALLED_APPS
Add public/media folder to sandbox

The folders are required so the image_not_found image can be
automatically created.
Rework shipping repository to be thread-safe
Remove dependency on oscar-testsupport
Remove catching NotApproved exception

NotApproved exception was removed in commit
0340a06a351f832d80887aad2d9f21dd4458ddfb

Plus facade.authorize() already raises
exceptions.UnableToTakePayment(e.message)
Ignore sandbox database
Fix URLs for Django 1.6

Fixes #53
Log payflow for sandbox
Set GBP as paypal express currency
Remove test dependency on oscar_testsupport
Merge pull request #34
Add tox to requirements
Drop support for Oscar 0.5

I was hoping not to do this, but the changes to checkout are too painful
to make work with both versions.  You end up having to explicitly check
the Oscar version in lots of places and things get very hairy.