Should we implement the default fee calculation using this? 

https://en.bitcoin.it/wiki/Transaction_fees

>  A transaction may be safely sent without fees if these conditions are met:
>  * It is smaller than 1,000 bytes.
>  * All outputs are 0.01 BTC or larger.
>  * Its priority is large enough (see the Technical Info section below)
> Otherwise, the reference implementation will round up the transaction size to the next 
> thousand bytes and add a fee of 0.1 mBTC (0.0001 BTC) per thousand bytes[1]. 

So, if no fee is given as a parameter:

1) calculate if 'free' conditions are meet. No sure what is *high enough* for priority, thought.
2) if not, add a fee based on 0.1mBTC/kb fee rate. (an extra tx serialization will be needed to calculate the transaction size).