Use properties for shipping charges

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
Reorganise shipping tests

Split into unit, integration etc.
Document testrunner with some example usage
Annotate shipping tests
Support shipping methods when tax isn't known

The core API now has an is_tax_known property.

Related to #805