Locale-sensitive, self-denominating Bitcoin value formatter/parser

I had created this class for myself, but with just a bit of modification it seems worth sharing.  If you fancy making it part of bitcoinj, you're welcome to it.  If not, no hard feelings.

There is javadoc documentation in the comments, but briefly, while it overlaps partially with the `CoinFormat` class, the major differences are:

3. When formatting, it adjusts the denominational units so as to minimize the number of zeros in the formatted number and adds a currency symbol or code to indicate the units;
2. The number formatting and placement of the currency symbol/code is locale sensitive; and
1. It extends the `java.text.Format` class, which allows for the type of examination and manipulation of the different fields in the format--such as integer, fraction and decimal separator--that is necessary if you need to do things such as aligning a list of numbers vertically.
Out of curiosity, I compared the symbols used for currencies throughout the world, both according to my JRE and Wikipedia.  I find that there are many instances of symbol ambiguity, and it doesn't seem to have prevented the adoption of the same symbols by multiple currency-issuing authorities.

The USA uses as the symbol for its dollars the familiar "$", but so also do Hong Kong, Singapore, Australia, and New Zealand.  While there may be little confusion between those currencies, that symbol is also shared among currencies of neighboring trading partners where risk of confusion is greatest, such as between the US dollar and, to the north, the Canadian dollar, and, to the south, the East Caribbean dollar.

The sharing of this symbol also extends beyond currencies named "dollar."  The currencies of Mexico, Chile, Colombia, Argentina, the Dominican Republic, and Uruguay all use the same so-called dollar sign "$", despite being named "peso."

Nor is the dollar-sign the only symbol shared among differently-named currencies.  The symbol used in China for its national currency is ¥, which, despite the currency it stands for being named "yuan," is identified in the Unicode documentation as "Yen Sign", a reference to the currency of Japan for whose currency [that character also serves as symbol](http://en.wikipedia.org/wiki/%C2%A5).

Nor is ambiguity limited to currency-specific symbols.  All but one of the Scandinavian nations use "kr" as the sign for their different currencies named "krona," not to be confused with "kn", the symbol for the Croatian kuna.  Both the Honduran lempira and Albanian lek use the letter "L" as their currency symbols.  And my JRE at least gives both the Jordanian dinar and UAE dirham the same abbreviation of two Arabic letters, distinguished only by the placement of a diacritic either above or below one of the letters.

And those are all examples of an identical symbol being shared among different currencies.  There are even more examples if we include currency symbols that while distinct are so similar as to require close inspection to differentiate. The symbol for both the Costa Rican colón and Salvadoran colón is "₡", while the Ghanaian cedi is "₵", both of which look like a cent sign "¢".

So, in summary, I have failed to acquire a strong impression that concern about a currency sign already being in use has been a dissuading factor against the choice by the issuers of other currencies against using that same symbol.  If China, which clearly could have afforded to create its own symbol, thought it good enough to share an already-existing symbol with nearby Japan, which has the third-largest GDP in the world, it's difficult for me to get very concerned about sharing a Unicode character with the currency of the country ranked twenty-eighth.