adding support for US military addresses

Added better support for US military addresses and a weighted address
generator.
Don't use a mutable list as default argument. I'd rather default it to `None` and initiliaze the list within the method (`if array is None: array = ...` See http://effbot.org/zone/default-values.htm

Also, IMHO `array` is a bad variable name, too generic.

Moreoverm the structure of this array reminds me of the result of `dict.items()`. I think it's more appropriate to have the method expect a `dict` instead (something like `{'a': 2, 'b': 2}`)