Extra Fields Pane "Address display" feature version 2

INSTRUCTIONS
------------------------------
This temporary submodule of Extra Fields Pane adds the 'Address display'
feature. With this feature you can show extra address values inside the
original address display on for example the order page or the invoice.

The most common problem for this feature is that it currently requires
modifications on Ubercart and UC Addresses (if enabled) to get this
feature to work.
The goal of testing this submodule is to find a way to get this feature
in Extra Fields Pane with the neatest modification on Ubercart or with
no modifications at all, if possible.

First, you need to know what this feature does exactly. To know this,
follow these steps:
1. Enable this module.
2. Apply patch 'ubercart_MC-addressdisplay-v2.patch' on Ubercart.
3. Apply patch 'uc_addresses_MC-addresdisplay.patch' on UC Addresses
   when that module is used/enabled.
4. Add some address fields at /admin/store/settings/checkout/edit/fields
5. Go to Country Formats: /admin/store/settings/countries/edit/formats
6. Read instructions of 'Address variables instructions'. There are some
   extra variables available from Extra Fields Pane.
7. Add the available '!ucxf' variables to the address format field of the
   default country of your store.
8. Place an order via Ubercart, fill in values for the added address fields.
   Choose the default store country for both addresses.
   You will see on the checkout review page that the address values saved by
   Extra Fields Pane are now visible inside the address display.
9. Go to the order page of the order you just placed. Also here the extra
   address values appear inside the address display.

Now you know how the feature works from a user point of view, it's time to
explain how it works technically.
The Ubercart patch alters how address displays are handled in Ubercart.
Instead of using the function uc_address_format() to display an address
(which has too many parameters in my opinion), the function uc_address_formatter()
is used which asks for an address array and an address type and two optional other
parameters. This function adds the hook 'hook_uc_address_alter()' so other 
modules can alter the address. All the parameters are passed to hook implemen-
tations, so the context of the address is known.
This submodule only needs to replace ucxf variables with Extra Fields Pane values
for addresses that belong to an order. For all other addresses it only needs to
remove it's variables (or else they are displayed).

This solution is better than the solution of version 1, but it alters
more Ubercart code than might be desired.

Tell me what you think about getting this feature in and how we could alter
Ubercart at best (that it is acceptable enough that it will be committed to
Ubercart).