Add a signal-safe decimal formatting function
Refactor the assertion-failure code into a function
Basic backtrace ability

On platforms with the backtrace/backtrace_symbols_fd interface, Tor
can now dump stack traces on assertion failure.  By default, I log
them to DataDir/stack_dump and to stderr.
On Linux (and some other systems) we need -rdynamic for backtraces
Add a sighandler-safe logging mechanism

We had accidentially grown two fake ones: one for backtrace.c, and one
for sandbox.c.  Let's do this properly instead.

Now, when we configure logs, we keep track of fds that should get told
about bad stuff happening from signal handlers.  There's another entry
point for these that avoids using non-signal-handler-safe functions.
Improve new assertion message logging

Don't report that a failure happened in the assertion_failed function just
because we logged it from there.
Use pc_from_ucontext.m4 from Google Performance Tools

This M4 module lets us learn the right way (out of at least 18
possibilities) to extract the current PC for stack-trace-fixup-in-signal
purposes.  The Google Performance Tools license is 3-clause BSD.
Make backtrace handler handle signals correctly.

This meant moving a fair bit of code around, and writing a signal
cleanup function.  Still pretty nice from what I can tell, though.
Unit tests for new functions in log.c
Tests for backtrace.c

These need to be a separate executable, since the point of backtrace.c
is that it can crash and write stuff.
Reseolve DOCDOC and XXXXs in backtrace.c
Refactor format_*_number_sigsafe to have a common implementation
Improve backtrace changes file
Merge branch 'backtrace_squashed'

Conflicts:
	src/common/sandbox.c
	src/common/sandbox.h
	src/common/util.c
	src/or/main.c
	src/test/include.am
	src/test/test.c
Merge branch 'backtrace_squashed_merged'