External shipping

Adding support for external shipping providers
In order for this to work, shipping_external_data has to have the paranoid behaviour set up.