Make wishlist optional by providing SHOP_USE_WISHLIST setting

The setting (if True) removes the all references to the wishlist from the shop templates, plus makes the wishlist view raise a 404.

I don't like that I haven't done anything with the POST handling for adding a wishlist item at `views.py:46-47` and `views.py:62:70` though. Without the `product.html` template rendering the "Save for later" button, that code will never be called, but it would probably be better if there was some explicit HTTP error returned if that code path is ever hit (someone overriding the template and adding that button back in for example). 400 Bad Request springs to mind, but really the error is not because of anything the client did, so one of the 5xx codes might be more suitable, if any.