Rework wishlist views

Mainly small changes to:

- Breadcrumbs
- Flash messages
- Layout HTML
Use reverse within basket content template

Was hardcoding "/".
Adjust wishlist URLs

- Use hyphens, not underscores
- Use a more RESTful style
Adjust add-to-wishlist partial template

Break out the removing functionality beneath the add-to-wishlist button.
This looks better and paves the way for using a POST request to remove
an item.
Use a templatetag to load wishlist data for detail page

This seems cleaner as it's a looser coupling between the catalogue and
wishlist apps.
Add unit tests for wishlist model
Re-enable public option for wishlists
Use a classmethod for generating random key
Use date_created instead of created for date field

In line with general Oscar conventions.
Update docs re wishlists
Merge branch 'issue/341/wishlists'

I also made some improvements to how the buttons are handled in this
commit.  This was an accident but it was too hard to tease apart the
merge from the enhancement.  Sorry all.

Conflicts:
	oscar/apps/customer/views.py
	oscar/templates/oscar/basket/partials/basket_content.html
Remove hard-wired '/' URLs from templates
Merge branch 'master' of github.com:tangentlabs/django-oscar

Conflicts:
	oscar/apps/customer/views.py
Merge branch 'master' of github.com:tangentlabs/django-oscar
Remove nose-progressive from reqs

We don't use it any more
Use '' as default instead of None in payment methods

Write a few more tests at the same time.
Remove a few deprecation warnings
Add two new example Oscar sites to README
Correct typo in help string
Merge latest master branch into demo branch