Allow to use a different AddressModel for shipping and billing

I needed to have different fields in the shipping and billing address. This PR allows you to use the SHOP_SHIPPING_ADDRESS_MODEL and SHOP_BILLING_ADDRESS_MODEL settings to specify the model to use for each. If these are not defined, it falls back to SHOP_ADDRESS_MODEL.