Added `group_pricing_policy` to `FixedRateTax`

Using a strategy derived from the `FixedRateTax` mixin breaks the default templates (which require a `group_pricing_policy` attribute).  I basically copied the one from `NoTax` and added the tax calculation from `FixedRateTax.pricing_policy`.
Update v0.8 release notes with middleware change
Ensure vouchers are moved to new basket when merging

This solves an issue where a customer's voucher is dropped when they
sign in.

Fixes #1187
Merge pull request #1324 from mexicat/patch-1

Added `group_pricing_policy` to `FixedRateTax`
Improve the recipe on supporting US taxes
Ensure all pricing mixing have a group_pricing_policy method
Add US-specific demo site

This simple site illustrates how to use Oscar for a US-specific site.
It's intended to help developers build Oscar sites for the US.

It can be built using:

    $ make us_site

This will build the database and load some sample products.

The key changes from core Oscar are:

- Setting the default currency to USD in settings.
- Overriding Oscar's partner app so we can specify out own Selector
  class which returns the US strategy. This ensures all prices are shown
  without tax.
- Overriding the checkout session mixin so we can apply taxes to the
  submission and also pass a template variable that specifies taxes
  should be broken out separately. We use a dummy tax module that
  applies very simple taxes to the submission.
- Overriding the checkout shipping address form so we can force the
  state field to use the US state dropdown.
Document the new US sample site

- Rework the page on applying taxes in the US
- Update the release notes
- Update the "sandbox" page with details of the new site
Remove duplicate sphinx labels in release notes
Add management command for forking an app

This makes it easier to customise Oscar. You can run this command to
quickly create local versions of an app that you want to customise. The
command creates the appropriate folder, __init__.py and models.py. The
only step requiring human intervention is to modify INSTALLED_APPS to
include the new app package.
Clean up order detail template

- Don't show discounts headers if no rows
Improve order detail dashboard view

- Rework view to use simpler methods
- Rename reloading method (not sure why, for readability I think)
- Use a form for changing the order status (we should be using forms for
  changing line stuff too - will look at that next)
- Generally clean up the view a little
More cleaning of order detail template

- Rename offers to discounts
- Use tabular display for payment information (to be consistent with
  other tabs)
- Show customer's email address when they checked out using guest
  checkout
Further improve order detail view

- Push saving order note logic into form (and out of the view)
- Hide order status form when there are no new options to choose
Use a line status cascade pipeline in sandbox

So we can see cascading line status changes when an order's status is
changed.
Use dynamic loading for forms on order detail page
Improve functional tests for order detail page

This change includes some tidying and organisational changes. There's
also a new test for adding order notes.
ShippingAddressForm: safely removing 'country' field

If there are only one country for shipping, we remove 'country' from form.
But user can redefine field list in form Meta class and not include 'country'.
Use a year range in the license
Don't allow null stockrecords in basket lines

This finishes the changes made in v0.6 where basket lines started
requiring a stockrecord FK. v0.7 handles the upgrade in middleware by
updating basket lines that didn't have a stockrecord. But since the
patch for v0.7 requires additional database queries, it's time to remove
it - which is what this change does.

This will be a slightly fiddly upgrade for some people as they will need
to run a data migration on their DB before applying the new basket
migration. I've included a sample snippet in the release notes which
should help.