Change withdrawal.sign() to lookup the master private keys from the votingpool DB and derive the ones necessary to sign transactions

There's a guideline in the FAQ: https://golang.org/doc/faq#methods_on_values_or_pointers

It's either/or, and if the struct is big then it's worth using a pointer if it's large enough.

So it's all good :)