Unit tests and refactor

Working on adding unit tests and getting a good test coverage.

On the way, I'm trying to unify some duplicate code especially related to launching btcd/btcwallet and connecting rpc client.
I'd rather see these (including the port, see previous comment) be passed in as arguments to NewBtcwalletArgs.