Started injecting request object into AddToBasketForm
Injecting request object into AddToBasketForm

It was injecting user and basket separately before onto form contructor.
The result was that in some cases it would make it difficult to twist
functionality that was depending for instance on the request object.

Passing the whole request object on the form will make it more flexible
to change.

Also, the basket_tags where reviewed they also started passing the
request object instead of the user.
Template tags calls form permission

This commit will make the templatetags to pull the form rendering
permission from the form object.

Also there will be two attributes set in the form when redering
purchase_permitted, and reason. This will allow a better information to
be displayed on the template.
Merge pull request #639 from andrefsp/feature/add_to_basket_request_object

Allow products to only be available to certain users