Continuing TransactionSign refactor [RIPD-480]

This refactor moves TransactionSign's ledger access into a single
object that can be mocked.  This paves the way for unit tests that
are not dependent on the ledger.