This (possible backwards incompatible) change means subclassing and
customising shipping methods becomes much easier. Now that shipping
methods are stateless, we can instantiate at compile time and assign
them to the repository instance.
This commit also renames internal methods of the shipping repository
in as the 'prime' notion is no longer valid (as we're not injecting a
basket into each method).
Use charge_incl_tax instead of basket_charge_incl_tax(). This is
clearer.
Backwards compatible versions of the old methods are kept for now.
Related to #805