Use SI convention for kg

Fixes #1362
Correct spelling
Merge pull request #1363 from machtfit/spelling

Correct spelling
Adjust logic for showing category image

This fixes the issues where the category image isn't shown if there
isn't a description. It also extends the logic to use the appropriate
'span%d' class, depending on whether the image and description are
present.
Bring US site shipping repo up-to-date

The repo internals had changed since the US site was born.
Update v0.8 release notes with more shipping details
Adjust demo site shipping for 0.8 shipping changes
Fix demo tests for checkout forms
Fix checkout issue for baskets that don't require shipping

The "use same address as shipping" for selecting the billing address
needed to be removed in this scenario.
Upgrade to latest version of Datacash extension
Dynamically load form
Merge pull request #1365 from machtfit/load-form-dynamically

Dynamically load form
Drop retail_price from pricing policy interface

Since pricing policies were implemented, the retail_price attribute was
a part of the interface, but not used. As the retail price is only ever
used for display purposes, it doesn't semantically belong into the
pricing policy, which is more concerned with business logic.

The retail price is still easily accessible as PurchaseInfo pass the
stockrecord, where it can be accessed in e.g. templates.
Update Base pricing policy interface

This change achieves two things:
- Pricing policies now are mostly concerned with returning a
  oscar.core.prices.Price instance instead of exposing attributes
  of a price directly
- Prices are now returned dependent on the quantity, which allows for
  implementation of non-linear prices.

Down the rabbit hole we go!
Update pricing policies to new interface

* FixedPrice now required passing in the tax_rate instead of the tax
  total, because the tax total will change depending on quantity.
  Semantically, this now means that not the strategy, but the pricing
  policy is responsible for calculating tax.
* TaxInclusiveFixedPrice has been simplified.
Update strategy mixins concerned with pricing

The NoTax and FixedRateTax have been refactored to show how similar
they are. That also means that the fixes from c3940c3 for zero-price
products are applied in all cases, which wasn't the case!

Both mixins now pass in the tax_rate instead of the tax as per the
updated pricing policy interface.
Harden Price class

This commit has two goals:
* Make it clearer that it's supposed to be treated as a read-only
  instance. Pricing policies are responsible for calculating tax,
  so remove any logic to be able to set tax.
* Complain loudly when accessing incl_tax or tax if tax isn't known.
  This was previously handled by the pricing policies only for children
  of FixedPrice, and only when accessing incl_tax.
Differentiate between no tax and zero tax

There is a distinction between no tax (e.g. in B2B applications) and a
tax of 0% (e.g. tax-exempt products). The latter still allows access to
the incl_tax and tax attributes of the Price instances.

This commit changes the default strategy from no tax to zero tax,
updates the tests accordingly, and clarifies the
documentation for the NoTax mixin.

Note that accessing any of the backwards compatible fields on the
Unavailable pricing policy will now raise the TaxNotKnown exception.
Price class: Always return quantized decimals

Quantization should happen as late as possible in calculations, and
hence should be the price class' concern. It not always returns
quantized decimals.

The exponent should be made configurable eventually, but right not other
parts of the codebase perform quantization and tax-calculation(!), which
needs to be addressed first. Grepping for 'quantize' shows what I mean.
Allow setting tax on Price instances again

I'd argue that it the pricing policies should be responsible for
re-calculating prices once the tax is known, but this is out of scope
for now.

Test suite passes (for now).