Fix the mempool rate limiter.

Before, btcd was rate limiting all transactions that had a minimum
fee of zero.  Now, btcd only rate limits transactions that contain
a fee less than the calculated fee based on size.
I saw this as well and figured it didn't really matter much because it's a non critical path and it's only a few nanoseconds, however I do agree it would be better to avoid the extra calculation.

I'd suggestion making the `calcMinTxRelayFee` function take  the serialized length instead of the tx and that way it's only obtained once for both if statement and to be passed into the `calcMinTxRelayFee` func.

The serialized size is also used in the rate limiting code which call this new func too, so that is another call to `Serialize` that could be avoided.