fee changes

The changed function GetMinFee is used both for choosing the fee when sending a transaction and for relaying/mining transactions.

The first commit refactors the function by removing all dead code and inlining the confusingly named nNewBlockSize. Careful review advised. The second commit may be more controversial: with that commit transactions send by the client always include a fee, even if they contain enough priority inputs (high value, high coinage). I think that rule is more confusing than useful, but I may be wrong and am willing to remove that commit after some discussion.