Untangle and modernize relaydescs module
- unify descriptor parsing throughout all classes
- separate statistics
- untangle the following picture
+--------------------------------------------------------------------+
| |
| X o----------+ Y : X holds a Y reference somewhere |
| |
+--------------------------------------------------------------------+
| |
| |
| +------------------------+ |
| | RelayDescriptorParser +\ |
| +-----+-----o-+o---o-----+ \ |
| / / | \ -- -\ |
| / / | \ \- -\ |
| / / \ | \- -\ |
| / / | \ \- -\ |
| / / | | \- -\ |
| / / | \ \- -\ |
| / / \ | \- -\ |
| / / | \ \- \ |
| +---o-----+-------+ | | +-------+-------o-+ |
| | ArchiveReader | \ \ | ArchiveWriter | |
| +-----------------+ | | +---o-------------+ |
| | \ | |
| | | | |
| \ \ / |
| +----o----+------+----------+ |
| | RelayDescriptorDownloader | |
| +---------------------------+ |
| / |
| / |
| / |
| +--------------o--------------+ |
| | CachedRelayDescriptorParser | |
| +-----------------------------+ |
| |
| |
+--------------------------------------------------------------------+