Stop checking if ri->address is an IP

since router_parse_entry_from_string() already checks whether
!tor_inet_aton(router->address, &in)

(And no need to print address, since router_describe does that.)
stop passing "address" around the directory_initiate_command* funcs

since it was always just the string version of "addr" anyway
use router->addr for log messages and controller events

(rather than router->address)
use me->addr when adding our address to our exit policy

(rather than me->address)
stop setting, or using, router->address

resolves ticket 5528.
Have the OOM handler also count the age the data in a stream buffer
Count freed buffer bytes from buffers when oom-killing circuits.

Also, aggressively clear the buffers to try to make their bytes go
away fast rather than waiting for the close-marked-connection code
to get 'em.
doxygen comments for 10169 code
Changess file for #10169
Rename MaxMemInCellQueues to MaxMemInQueues
Drop the MaxMemInQueues lower limit down to 256 MB.

on #9686, gmorehose reports that the 500 MB lower limit is too high
for raspberry pi users.
Merge remote-tracking branch 'public/bug10169_023' into bug10169_024

Conflicts:
	doc/tor.1.txt
	src/or/config.c
	src/or/or.h

The conflicts were all pretty trivial.
Fix bugs in bug10169 bugfix memory tracking

The chunk_grow() and chunk_copy() functions weren't adjusting the
memory totals properly.

Bugfix not on any released Tor version.
Actually release buffer freelists when handling OOM conditions.

Otherwise freeing buffers won't help for a little while.
Merge remote-tracking branch 'public/bug10169_023' into bug10169_024
Merge remote-tracking branch 'public/bug10169_024' into bug10169_025_v2

Conflicts:
	src/or/circuitlist.c
Debugging code inbuffers.c for debugging chunk allocation.

Currently on; will disable later in this branch.
Start writing tests for 10169.

Now we cover more chunk allocation functions.
Several tests for buffer allocation
Add tests for buffer time tracking.