Update GeoIP file script and manual substitutions.

Script changes now catch more cases when our manual substitutions need to
be updated.

Manual substitutions are updated to May 2013 database.
Update to the May 2013 GeoIP database.
Fix bug 8846: better log message on IP version confusion
Merge remote-tracking branch 'origin/maint-0.2.4'
retroactively fix grammar
Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
Merge remote-tracking branch 'origin/maint-0.2.4'
Merge remote-tracking branch 'karsten/geoip-manual-update-may2013'
Copy-paste description of PathBias params from man page to or.h comment
Merge remote-tracking branch 'origin/maint-0.2.4'
Downgrade the unexpected sendme cell warnings for 0.2.4

See discussion on #8093
Merge remote-tracking branch 'origin/maint-0.2.4'
Restore 8093 log messages to WARN severity, but rate limit

See #8093 for discussion
Close socket at err target.

In connection_listener_new().
See #8789.
Tweak fix for #8789 a bit; avoid double-close and add changes file
Extract duplicate code in geoip and rephist.

Create new methods check_or_create_data_subdir() and
write_to_data_subdir() in config.c and use them throughout
rephist.c and geoip.c.
This should solve ticket #4282.
Unit tests for check_or_create_data_subdir and write_to_data_subdir.
Tweak 4282 unit tests for style, safety, correctness.

We do our filesystem wrangling relative to get_fname() results, so
that if we fail or crash, we can always clean up.
Fix a logic error in 4282 fixes

check_or_create_data_subdir has succeeded when it returns 0, not
when it returns negative.