Make audio-only calls work, with tests

Replaces PR #275.  This cleans up code & tests to be more maintainable, adds unit tests for the things preventing audio-only calls from displaying right, fixes the units, adds a functional test, and adds necessary testing infrastructure to support the functional test.

I've squash some of the commits together already; my expectation is that the easiest way to review this PR will be to review each individual commit that is left, rather than trying to review the whole big thing.

Requesting review from @Standard8 or @n1k0.