adding support for US military addresses

Added better support for US military addresses and a weighted address
generator.
There’s no user-visible gains, but there are gains made on the development side. Throughout the package’s providers, I see multiple entries for the same elements that can be simplified by weighting them. For example, look at providers / de_DE / internet.py

tlds = ('com', 'com', 'com', 'net', 'org', 'de', 'de', 'de’)

One could covert that to the weighted format so that it looks like, 
tlds = [(‘com', 3), (‘net’, 1), (‘org’, 1), (‘de’, 3)]

— or if german organizations use the .de tld much more often, we can change the weight to say 10 or 25.

then, all we have to do is change tld in faker/providers/internet.py to:

```
def tld(self):
    return self.random_weighted_element(self.tlds)
```

This allows more flexibility so that we can mix more common elements with less common elements without having to add extra elements in the object (as in tlds above, or in the en_US military address changes I made).