Introduce PartnerAddress

Can be used for storing contact information for a partner, or
might be needed for determining tax.
Add two selector methods to get partner's addresses

Introduced get_primary_address and get_address_for_stockrecord. I opted
to implement rudimentary logic supporting only one PartnerAddress
instead of raising NotImplemented. I'm assuming that given the demand
for multiple partners scenario, it is more likely than not that a user
will need to store an address for a partner.
AbstractAddress.search_text and UserAddress.hash set to editable=False

I can't imagine a use case where those should be exposed in a UI.
Allow managing a partner's address from the dashboard

As Oscar is only shipping with support for one partner address by
default, it made sense to have it directly editable in the partner
manage view.
Rearrange partner management page

Put core forms (partner, address) at the top.  Remove the offset.
Adjust partner address handling

- Make get_primary_address a property
- Assign partner to address when creating a new one (fixes a bug)
- Only show success messages after a success
Ensure postcodes are present when a country requires one

This closes a validation hole around validating addresses.  If an
address form was submitted with a country but no postcode, this would
not raise a ValidationError which was wrong.  This change ensures that
countries that have a postcode regex ensure a postcode is entered.
Minor template fix

If offset is dropped, span6 should be used.
Handle rename of get_primary_address to primary_address

Tests should now pass.
Add docstring and term 'product range' to glossary

Also adds a docstring to the is_discountable AbstractProduct
Extend error message for primary_address
Use partner name in page titles
Add new blocks to basket templates

To make it easier to customise small parts of the template.
Merge pull request #766

Fixes #766