DonationData: cleanup of basic data retrieval

I was having an empty string explosion problem. This makes sure
that all the data that comes out of DonationData was... you know,
actually represented somewhere in the current donation flow.

THIS IS POTENTIALLY DANGEROUS: The difference between an empty key
and a missing one, is that all XML going out of DonationInterface
will no longer populate empty nodes for data that we don't really
have (this is good): Instead they will be left off the outgoing
request XML entirely. Much live sandbox testing will need to
happen.

Change-Id: I750995710901ce1f2b9f341f244d5883a947ff00