Send back SOCKS5 errors for all of the address related failures.

Cases that now send errors:
 * Malformed IP address (SOCKS5_GENERAL_ERROR)
 * CONNECT/RESOLVE request with IP, when SafeSocks is set
   (SOCKS5_NOT_ALLOWED)
 * RESOLVE_PTR request with FQDN (SOCKS5_ADDRESS_TYPE_NOT_SUPPORTED)
 * Malformed FQDN (SOCKS5_GENERAL_ERROR)
 * Unknown address type (SOCKS5_ADDRESS_TYPE_NOT_SUPPORTED)

Fixes bug 13314.
Disable SSLv3 unconditionally. Closes ticket 13426.

The POODLE attack doesn't affect Tor, but there's no reason to tempt
fate: SSLv3 isn't going to get any better.
Merge branch 'no_sslv3_023' 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' into maint-0.2.5
Merge remote-tracking branch 'origin/maint-0.2.5'
Merge remote-tracking branch 'yawning/bug13314'
Downgrade 'unexpected sendme cell from client' to PROTOCOL_WARN

Closes 8093.
Merge remote-tracking branch 'origin/maint-0.2.5'
Remove two Xcode run schemes that contained local-only paths
Merge branch 'osxbuild'
Tidy: reorder files in alphabetical order
Tidy OS X project - reorder files into alphabetical order
Merge branch 'master' of https://git.torproject.org/tor
Stop tracking tor.xcodeproj temporarily, until branches catch up
Stop failing when key files are zero-length

Instead, generate new keys, and overwrite the empty key files.
Fixes bug 13111.

Adds file_size() to util.[ch], and renames a variable called file_size
in compat.c to avoid shadowing warnings.
Avoid loading empty stats, router list, extra info, and state files

Instead, skip zero-length file loads, and overwrite the existing file
when the data is next written out.

This may have a small impact on performance, as we don't
bother trying to parse empty files.
Use correct day of year in correct_tm()

Set the correct day of year value in correct_tm() when the
system's localtime(_r) or gmtime(_r) functions fail to set struct tm.

Fixes bug 13476.
Improve date validation in HTTP headers

Check all date/time values passed to tor_timegm
and parse_rfc1123_time for validity, taking leap
years into account.
Improves HTTP header validation.

Avoid unlikely signed integer overflow in tor_timegm
on systems with 32-bit time_t.
Fixes bug 13476.
Clamp (some) years supplied by the system to 1 CE

Clamp year values returned by system localtime(_r) and
gmtime(_r) to year 1. This ensures tor can read any
values it might write out.

Fixes bug 13476.