Fix and clean up recurring globalcollect

* Do not second-guess message normalization.  This brings the contribution
message in line with other modules.  Fixes bugs introduced by undeployed
patch I0a02bc94ba17b32f0e5a22015d0efb416f4fe26e .
* Split DonationInterface facade into its own class and make more testable.

DEPLOYMENT:
* drush registry-rebuild
* Babysit a very small test batch for the first run.

Change-Id: If4913d9a5ebdab1dfa544e4d7125ee4da0c02442
Consolidate source data assignment

Change-Id: I39503ee4d80348c782a922dff2cc2c031ad4a603
Merge changes I39503ee4,If4913d9a

* changes:
  Consolidate source data assignment
  Fix and clean up recurring globalcollect