Refactor SerializedTransaction

This is based off the work for the previous PR but removes the txid caching for now. The public interface of `SerializedTransaction` shrinks, as does the implementation. The removal of the two "intertwined" `bool` variables to track signing state and their replacement by a `boost::tribool` should be double-checked.

Reviews: @JoelKatz, @vinniefalco. Thanks!