Synchronize less frequently when compressing descriptors

This may improve our compression ratios.

fix for 11787
Correctly remove extraneous space in router family lines

Fixes bug 12728; bugfix on 0.2.1.7-alpha when the SPLIT_IGNORE_SPACE
option was added.
Start converting circuitlist to smartlist.
Autoconvert most circuit-list iterations to smartlist iterations

Breaks compilation.

Used this coccinelle script:

@@
identifier c;
typedef circuit_t;
iterator name TOR_LIST_FOREACH;
iterator name SMARTLIST_FOREACH_BEGIN;
statement S;
@@
- circuit_t *c;
   ...
- TOR_LIST_FOREACH(c, \(&global_circuitlist\|circuit_get_global_list()\), head)
+ SMARTLIST_FOREACH_BEGIN(circuit_get_global_list(), circuit_t *, c)
  S
+ SMARTLIST_FOREACH_END(c);
Hand-fix a few global_circuit_list cases
Fix entrynodes test fails because of outdated test vectors.
Merge remote-tracking branch 'public/bug12728_024'
Warn if Tor is a relay and a HS

Closes 12908; see #8742
Merge remote-tracking branch 'public/bug12908_025'
Changes file for bug 11787
Merge remote-tracking branch 'public/bug11787'
Allow named pipes for our log files.

Closes ticket 12061. Based on a patch from "carlo von lynX" on tor-dev at
  https://lists.torproject.org/pipermail/tor-dev/2014-April/006705.html
Fix return value of tor_fd_seekend.

Previously, we had documented it to return -1 or 0, when in fact
lseek returns -1 or the new position in the file.

This is harmless, since we were only checking for negative values
when we used tor_fd_seekend.
fix remaining compilation problems
Don't allocate an extra smartlist in the OOM handler

Fixes issue 10116
Merge branch 'bug10116_squashed'