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
Mumble grumble passing an empty reference and a boolean is ugly.  Other options:

 * Pass an Option type.
 * Pass a pointer (and pass NULL if you don't want the ChargingAddresses updated).