automatic locations

Creates a command that generates locations object for locations with many entries. 
* Neighbor class takes an object with coordinates. Finds other objects with nearby coordinates.
* WebFinder finds uses the Neighbor class to find groups of entries (or any object with coordinates) that  are close to each other.
* CoordinateCenter finds the average latitude and longitude in those groups.
* Csv maker formats a file of world cities.
* LocationFinder takes the coordinate centers and the list of cities.  It finds cities that are near those centers.
* LocationBuilder builds new Active Record Locations for each city that Location Finder finds.
Is there any benefit to passing hashes or arrays, as opposed to passing objects? This whole things tends to be slow, so I'd like to optimize speed without getting too preoccupied.  If it's best to just pass full blown objects, I can just pass around a point object with latitude and longitude properties.