Finished partial cleanup of location functions.

This completes the cleanup @zack-shoylev started in 91f405c9fedf24822015172e9e3c50acbd855d28

I don't mean to single out zack, but we have to stop leaving maintenance for others like me who care about the whole codebase, not just the specific thing I need for one api. I've tried to summarize the sentiment below.

### (Stop) silo'ing fixes!
If you encounter a small problem you need fixed for a downstream api or provider, find some scope to fix uniformly. For example, other classes in the same package, or other methods in the same Api.
 
Fixing one and leaving the other cleanup for others to address doesn't respect the time of reviewers, or those who merge code at release time. It takes the same time to review a tiny update vs 4 tiny updates. Moreover, a user (or developer) would be unpleasently surprised to find only 1 of 3 edge cases fixed.
 
When doing bug fixes, or tech-debt removal, can you make it worth it? Could you fix all similar broken windows, or at least more than one? If you can afford time to fix a bug, would spending an extra hour to fix similar ones be tolerable?
 
Bottom-line, we are all in this together. jclouds doesn't succeed when only new apis, and the partition of shared code they use are maintained.