Decouple LedgerMaster from configuration

Pass necessary arguments into `LedgerMaster` to avoid coupling with the `Config` object. Reviews by @ximinez and @rec (welcome back!)
I like ximinez' idea.  There's nothing wrong with having to create a Config for tests - indeed, it makes the tests more uniform.

We don't have to do it in this CL...