change the context_processor in the shopping cart to return a pointer to...

... a function so that only the templates that actually need to know if the shopping cart button should be shown will actually make the database roundtrips
I had trouble reading this until I realized that the function doesn't actually display the shopping cart. I think it would be clearer if it was named something like 'should_display_shopping_cart_fun' or 'has_shopping_cart_func' or something like this that implies that it will return a boolean.