Check for orconns and use connection_or_close_for_error() when appropriate in connection_handle_write_impl()
Remove a piece of disabled code in choose_random_entry_impl().
choose_random_entry_impl(): Remove useless consider_exit_family.

The variable was useless since it was only toggled off in disabled code.

If the 'exit_family' smartlist is empty, we don't consider exit family
anyway.
Create skeleton for populate_live_entry_guards().

Now we are ready to move code from choose_random_entry_impl() to it.
Move code from choose_random_entry_impl() to the new function.

This commit only _moves_ code.
Fix the functionality of populate_live_entry_guards().
Constify aggressively in populate_live_entry_guards().
Make populate_live_entry_guards() more smoothly testable.
Make a few entrynodes.c functions testable.
Document choose_random_entry_impl() and populate_live_entry_guards().
Add some test descriptors to src/test/.
Functionify the descriptor age check so that we can NOP it in tests.
Add the entrynodes.c unit tests.
Basic entry_is_live() unittest.
Change the interface of entry_is_live() to take a bitmap.
Only active relays should be given HSDir

We should only assign a relay the HSDir flag if it is currently
considered valid. We can accomplish this by only considering active
relays, and as a consequence of this we also exclude relays that are
currently hibernating. Fixes #12573
Remove executable bit from control.c, router.c

Fix for 12512.
Change interface of router_descriptor_is_too_old().
Fix a bug where streams would linger forever when we had no dirinfo

fixes bug 8387; fix on 0.1.1.11-alpha (code), or on 0.2.4.10-alpha (behavior).
Fixed fgets_eagain unit test.

On a non-blocking pipe fgets sets EAGAIN when it encounters partial lines. No
error is set on full lines or EOF. EOF is reached when the writing end of the
pipe is closed. Partial lines and full lines are both returned by fgets, EOF
results in NULL.

Mention of this behaviour can be found in #1903 and #2045.