Make istoobig and calcfee testable

This has a much smaller impact on the code, and both the isTooBig and calculateFee are members of the decoratedTx structure.

Likewise has a newDecoratedTx member been introduced in the withdrawal structure.

I don't like how the isTooBig and calculateFee functions need to be passed the decoratedTx as they are members and not method receivers and cannot operate directly on the structure.

Replaces PR#90

I don't understand why we need those function signatures to be func(*decoratedTx)? The actual functions are either be defined within newDecoratedTx(), where the new decoratedTx is available for them