Add a bunch of unit tests for TF, and fix associated bugs.

This brings unit test code coverage up to a respectable 76%.

Depends on gerrit change 43413.

Change-Id: I1c98e0a09ce74d2e051e2b62ce1453c87640fdc1
20 files changed