[Completes #45957789] Searchers see non-local jobs if there are fewer than 3 local jobs

- New lat_lon param uses optional comma-separated geo location of searcher to sort jobs results by distance (closest first)
- Integrated Geonames.org data to attach lat/lon to job locations
- Upgraded Gems
- Introduced regression: this test now fails and I removed it "should not find by one city and another state". I removed the 'nested' type for the locations because of this problem: https://groups.google.com/forum/?fromgroups#!topic/elasticsearch/hKts0hO8NCQ and will fix the regression once this Elasticsearch issue is resolved.