More fine-grained modular decomposition

We should chop up our huger C files into smaller ones, based on actual module boundaries.

This will make it harder for us to merge pending branches that touch that code, but those are at a low ebb right now, so it's a good time.

The top 10 offenders in our current codebase are:

   4614 src/or/rendservice.c
   4839 src/or/channel.c
   5200 src/or/connection.c
   5386 src/or/or.h
   5648 src/common/util.c
   5666 src/or/directory.c
   5688 src/or/routerparse.c
   5771 src/or/routerlist.c
   7223 src/or/control.c
   8006 src/or/config.c

(updated May 2017)