New program module specifically for donations

Jordan and Ben had discussed offering a page for selecting donations, separate from both the extra costs module and from the Stripe payment module.  Joel has kindly broken the code out from the Stripe module and I just made some tweaks this evening.  Please review.
The form shouldn't have an action.