Partner user customizing

These changes make the code more easily customizable by overriding methods. In particular, in our application, some partners are associated with users following the oscar model, however, other partners are associated with our entities Company or PlaceOfBusiness. In that case we need to filter the products the current user is allowed to edit differently. We do that by overriding just filter_products.

Also now there's only one place in the code where it is checked whether the user is allowed to see or update the product.