Reviewer AMC: Story 851

Andy,

Please can you review my homestead changes for story 851. These involve extracting charging addresses off SAAs and sending them back to sprout, and also extracting charging addresses of PPRs and caching them.

I'm not interested in a discussion about the usability of the homestead handler UTs. Let me know if you have any questions not concerning them.

This has full code coverage for UTs but is not tested live yet. That comes later. Feel free to review befoer that though.

Thanks,
Graeme
This is moderately expensive to run on the golden path, you can check the current log level with `Log::enabled(DEBUG_LEVEL)` to skip this work if it's not going to be used.