Add new `render_product` templatetag

This looks for an overriding template for the product partial, based on
the product's UPC and product class.  This hook allows projects to
provide custom partials for changing how a product appears in browsing
views.
render_product: Docs & default paths
Use new render_product tag for product carousels
Merge pull request #601 from tangentlabs/issue/601/alternative-partials

Support alternative product partials
Move compress tags into extrascripts partial

This gives more control to subclassing projects that need to add JS
assets.
Merge branch 'master' into releases/0.5
Fix error when trying to delete empty image field
Make less work with offline compression and document it
Commit CSS again (and use it by default in sandbox)

Oscar's CSS files had been removed from source control as they are
generated from the LESS files.  They were just dupliate content
ultimately.

HOWEVER, this was causing a few problems that warrant re-committing
them.

* To browse the sandbox, you were required to install lessc (and hence
  node.js) in order for the `COMPRESS_PRECOMPILERS` setting to work.
  This was too much of an overhead as most people playing with the
  sandbox just want to see how Oscar works and want to get it up and
  running as quickly and easily as possible.

* Oscar extensions also suffer from the same problem.  Eg, you would
  have to get lessc installed even if you had no interest in playing
  with Oscar's styles.

I think it's better to have the CSS files committed and simply to be
careful about pull requests and commits that change the CSS.  Before
releasing, we need to ensure that the CSS files correctly generate from
the LESS files.

This commit also changes the default sandbox set-up to serve the CSS
files but compressed.

Relevant to #605, #546, #246
Merge pull request #607
set Zip/PostCode not to be required

Some countries, ie. Ireland, don't have post codes, so:
1) post code should not be a required field
2) maybe conditional validation making PostCode required for some countries
Add setting to make address fields required

OSCAR_REQUIRED_ADDRESS_FIELDS allows setting which fields are required.
The use case is that post codes are expected to be required, but many
countries don't actually use them.
Merge pull request #583
Add template blocks the product.html partial

This allows class-specific partials to just customise parts of the
parent template.
Add additional blocks into product detail template

These provide extra hookpoints for projects.
Add additional blocks to basket_content template
Bump Bootstrap JS to 2.3.1

This fixes an iPad dropdown issue.

Fixes #609
Use glyphicons from Bootstrap 2.3.1
Upgrade LESS files to 2.3.1
Fix bug preventing product update

Product updates in the dashboard weren't being saved. This was a
regression introduced by my refactoring of the ProductUpdate/Create
views.

A test to ensure that a product title does indeed get updated has been
added.

Reported and fix supplied by @soloweb in #613. Thank you.