Abstract base classes for shipping models

This is a common and useful Oscar pattern, and I can't see a reason to not use it for the shipping app. I wanted to configure the WeightBased class to add a field pointing to a partner, so that I can have different weight bands per partner.

They are not imported anywhere in Oscar and just provided for convenience, so no imports had to be altered.

Made a PR because I feel like I've missed something obvious and want a second set of eyeballs.